子目录是否继承属性,例如add_definitions,include_directories和在父Cmakelist.txt中设置的变量

时间:2018-11-02 15:12:17

标签: c++ cmake

我有一个C ++项目。在我的目录之一中,我有多个目录。父目录的Cmakelist.txt如下所示。 (尚未完成!!未添加可执行文件。)

add_definitions(
-DMODEL=demo -DSTACK_SIZE=64 )


include_directories(
"D:/Project/newCmakeTest"
"D:/Project/newCmakeTest/src"
)

add_subdirectory(common)
add_subdirectory(subfolder1)
add_subdirectory(subfolder2)

string (REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
string (REPLACE "-Werror" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive -Wno-narrowing")

我想知道诸如add_definitions和include_directories之类的属性是否会被subfolder1,subfolder2和common中的相应属性继承

1 个答案:

答案 0 :(得分:0)

<nav class="navbar navbar-dark navbar-expand-md"> <button class="navbar-toggler"> <span class="navbar-toggler-icon"></span> </button> </nav> 中的几乎所有动作的效果都会传播到子目录(假设CMakeLists.txt在之后称为 动作)。

add_subdirectoryadd_definitions遵循该传播策略。