У нас есть проект, в котором на основе некоторых настроек мы можем или не можем скомпилировать статическую библиотеку в нашем проекте. В случае, если мы не создадим его, мы будем использовать фиктивную реализацию, которая обернута в макрос DUMMY_LIB_IMPL. Чтобы быть более ясным,
{ROOT_DIR}/
CMakeLists.txt
|
|_ P1/CMakeLists.txt --> The cmake file which has the below snippet
|_ P2/CMakeLists.txt --> May/MayNot compile "lib_that_may_be_compiled_by_us"
Так что это часть того, с чем мы закончили в P1 / CMakeLists.txt
find_library(OPTIONAL_LIB lib_that_may_be_compiled_by_us)
if(OPTIONAL_LIB)
target_link_libraries(p1 lib_that_may_be_compiled_by_us)
message("Found library at" ${OPTIONAL_LIB})
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDUMMY_LIB_IMPL")
message("Could not find client library enabling MACRO DUMMY_LIB_IMPL")
endif()
К сожалению, find_lib (...) здесь делаетПохоже, не сможет найти библиотеку. Попытка добавить путь, по которому мы его строим, но не помогает.
Есть ли альтернативный способ добиться чего-то подобного? Что не так с текущим фрагментом выше?