内置函数install(TARGETS ...)
将库目标安装到可执行目标以外的其他位置。我想做类似的事情。给定目标名称列表,我想将其中的所有库目标添加到列表变量,将所有运行时目标添加到另一个变量。
我找不到CMake的默认目标属性列表,但我想add_library()
和add_executable()
添加了一个可用于此类区分的属性。< / p>
如何判断给定目标是库还是可执行文件(甚至是其他东西)?
答案 0 :(得分:17)
根据文档,TYPE属性可用于区分标准CMake目标类型:
它将是STATIC_LIBRARY,MODULE_LIBRARY,SHARED_LIBRARY,EXECUTABLE或其中一个内部目标类型之一。
示例:
get_target_property(target_type <target> TYPE)
if (target_type STREQUAL "EXECUTABLE")
# Process executable target
endif ()