我在父CMakeLists.txt中写了一些定义 我希望这些定义在项目的子目录中继承。 所以,如果我有像
这样的项目root
|- CMakeLists.txt
|- A
| |- CMakeLists.txt
|- B
|- CMakeLists.txt
我在根CMakeLists.txt中写的定义应该归到孩子身上。
怎么做?
答案 0 :(得分:7)
更改包含的顺序进行了那些更改。过去我一直在使用
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
SET(ENV{OSDEP} "linux")
SET(ENV{BIT} 64)
SET(ENV{XUL} 5000)
ADD_SUBDIRECTORY(lib/src/json)
add_definitions("-_DDEBUG")
我将最后两行更改为
add_definitions("-_DDEBUG")
ADD_SUBDIRECTORY(lib/src/json)
答案 1 :(得分:1)
这取决于你如何在CMakeLists.txt中使用A和B的CMakeLists.txt。
CMAKE-way是在root用户的CMakeLists.txt中为A和B做add_subdirectory(我强烈推荐它,经过一段时间的努力)然后A和B拥有来自root和root的所有变量都有可用的目标来自A和B.