INTERFACE_INCLUDE_DIRECTORIES 即使在 target_include_directories 之后也给出空刺

INTERFACE_INCLUDE_DIRECTORIES gives empty sting even after target_include_directories

我在打印变量 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应该在[=17=之后的INTERFACE_INCLUDE_DIRECTORIES, 但是,它会打印一个空字符串。

我想知道是否有打印与特定库相关的包含路径,hello 例如在这种情况下。

${CMAKE_CURRENT_SOURCE_DIR}/include should be in the INTERFACE_INCLUDE_DIRECTORIES after target_include_directories

它应该在 INTERFACE_INCLUDE_DIRECTORIES 目标 属性 中,而不是在变量中。

if there is anyway to print the include path that is related to specific library ,hello for example in this case.

get_target_property(var hello INTERFACE_INCLUDE_DIRECTORIES)
message(STATUS "${var}")