我想用CMake显示Foo::Bar的内容,怎么做?
message(STATUS "Foo::Bar -> ${Foo::Bar}")
# example case : Boost
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
find_package(Boost REQUIRED)
# I want to display contents of Boost::headers.
# I think it is contain header path. How to display it on CMake output?
# message(STATUS "Boost::headers -> ${Boost::headers}")
# I expect the following output.
# Boost::headers -> (path_to_boost_root)/include/boost-1_70
1条答案
按热度按时间plicqrtu1#
我知道两种打印目标属性的方法。
1.对于特定属性,可以使用
CMakePrintHelpers.cmake
中的cmake_print_properties
。cmake_print_properties(TARGETS Boost::headers PROPERTIES <property1> <property2> ...)
1.要打印目标的所有已定义属性,可以使用此技巧。
然后你可以这样调用这个函数:
print_target_properties(Boost::headers)