我在打印像INTERFACE_INCLUDE_DIRECTORIES这样的变量时遇到了问题,我会展示我编写的简单CMakeLists.txt:
cmake_minimum_required(VERSION 3.5)
project(Library)
add_library(hello src/hello.cpp)
target_include_directories(hello PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
message(STATUS "The interface_include_directories : ${INTERFACE_INCLUDE_DIRECTORIES}")如上面所示,${CMAKE_CURRENT_SOURCE_DIR}/include应该在INTERFACE_INCLUDE_DIRECTORIES中,而不是在target_include_directories之后,而是打印一个空字符串。
我想知道是否存在与特定库相关的包含路径,例如本例中的hello。
发布于 2022-01-26 08:12:02
${CMAKE_CURRENT_SOURCE_DIR}/include应该在target_include_directories之后的INTERFACE_INCLUDE_DIRECTORIES中
它应该在INTERFACE_INCLUDE_DIRECTORIES目标属性中,而不是在变量中。
如果无论如何都要打印与特定库相关的包含路径,则
,例如,在本例中。
get_target_property(var hello INTERFACE_INCLUDE_DIRECTORIES)
message(STATUS "${var}")https://stackoverflow.com/questions/70860235
复制相似问题