Stephen Kelly <steve...@gmail.com> writes: > Philipp Moeller wrote: > >> Nils Gladitz <nilsglad...@gmail.com> >> writes: >>> I would like that very much as well. >> >> I'll look into doing that. I think populating >> INTERFACE_COMPILE_DEFINTIONS with BOOST_${LIBRARY_NAME}_NO_LIB seems the >> obvious choice. > > Yes. > >> In addition I can provide a Boost::disable_autolinking >> target to disable it for the complete library. > > Also consider a CMake variable to disable the addition of the defines (by > not linking the interface targets). > > set(Boost_ENABLE_AUTOLINKING 1) > find_package(Boost)
I really would like to do that, but for that to work we need a LINK_DIRECTORIES property. I opened a feature request for this some time ago. Let me give a quick summary of how auto-linking works so we have a common understanding of it: A header uses pragma comment(lib, library_name.lib). This triggers the compiler to look for library_name.lib in all specified and implicit link directories. I think this sums up what we need: If we enable auto-linking the IMPORTED targets need to be INTERFACE targets that propagate a INTERFACE_LINK_DIRECTORY property if the compiler supports auto-linking. If it is disabled or the compiler does not support it, we need a UNKNOWN or STATIC library target with an INTERFACE_COMPILE_DEFINITIONS to disable auto-linking. -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers