我有一个具有不同可配置依赖项的项目:
IF(HAVE_LIBA)
ADD_SUBDIRECTORY(something)
ENDIF()
IF(HAVE_LIBB)
ADD_SUBDIRECTORY(somethingElse)
ENDIF()
我想拥有一个库的中央列表,包括最终使用特定配置构建的库的路径和安装路径。
的CMakeLists.txt:
SET(MYPROJECT_LIBS "")
东西/的CMakeLists.txt:
ADD_LIBRARY(somethingLib ...)
# Howto append somethingLib to MYPROJECT_LIBS
SET(... PARENT_SCOPE)[CMake> = 2.6]将是一种方法,但是,我有几个级别的文件夹,父范围只修改上面一个级别的变量。
缓存MYPROJECT_LIBS也没有效果。
关于如何填充这些列表的任何其他(可能是一般性的)建议?
答案 0 :(得分:3)
改为填充全局属性。
set_property(GLOBAL APPEND PROPERTY THE_LIBS_PROP liba)
读:
get_property(THE_LIBS GLOBAL PROPERTY THE_LIBS_PROP)
message("The libs: ${THE_LIBS}")