[CMake] Mixing optional and required libraries with find_package
storri
storri at torri.org
Mon Aug 9 08:55:52 EDT 2010
I don't think it is possible to find both required and optional
libraries with the same find_package command. Is that true?
I have a installation of Boost which has a proposed library added into
it called Boost.Log ('log' for short). I require the
boost_program_options library but optionally can use 'log' and
'boost_thread' (if Boost.Log is compiled with threads).
My idea was to do the following:
find_package(Boost REQUIRED program_options)
find_library(Boost.Log NAMES boost_log PATHS
${BOOST_LIBRARYDIR})
I am not sure if I can use the BOOST_LIBRARYDIR in the find_library
command. My initial test says that the answer is no. If I use the above
script in my CMakeLists.txt I get:
//Path to a library.
Boost_LOG_LIBRARY_DEBUG:FILEPATH=Boost_LOG_LIBRARY_DEBUG-NOTFOUND
//Path to a library.
Boost_LOG_LIBRARY_RELEASE:FILEPATH=Boost_LOG_LIBRARY_RELEASE-NOTFOUND
I would like to have it so I can declare a variable to be added to the
compiler flags to enable the preprocessor to use the library or compile
out the instructions wrapped with #ifdef BOOST_LOG.
Stephen
More information about the CMake
mailing list