gpt4 book ai didi

cmake - 如何检查 find_package 是否找到了包(增强)

转载 作者:行者123 更新时间:2023-12-03 23:28:45 26 4
gpt4 key购买 nike

如果 cmake find_package 发现没有安装 boost,我不想添加 boost.cxx。 find_package 是否返回一些我可以包装在条件中以编译 boost.cxx 的东西。这是我当前的 cmake 文件:

add_executable (complex complex.cxx lexer.cxx boost.cxx ../../src/lili.cxx ../../src/lilu.cxx)

# Make sure the compiler can find all include files
include_directories (../../src)
include_directories (.)

# Make sure the linker can find all needed libraries
# rt: clock_gettime()
target_link_libraries(complex rt)

# Install example application
install (TARGETS complex
RUNTIME DESTINATION bin)

IF(UNIX)
find_package(Boost COMPONENTS system filesystem REQUIRED)

## Compiler flags
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "-O2")
set(CMAKE_EXE_LINKER_FLAGS "-lsqlite3 -lrt -lpthread")
endif()

target_link_libraries(complex
${Boost_FILESYSTEM_LIBRARY}
${Boost_SYSTEM_LIBRARY}
#${PROTOBUF_LIBRARY}
)
ENDIF(UNIX)

最佳答案

是的,如果 find_package(Boost COMPONENTS system filesystem REQUIRED)成功,Boost_FOUND将是真的。

此外,还会有特定于组件的版本,所以 Boost_date_time_FOUND , Boost_filesystem_FOUND , ETC。

有关更多信息,请运行

cmake --help-module FindBoost

关于cmake - 如何检查 find_package 是否找到了包(增强),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10227005/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com