子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t

Do sub-directories inherit properties such as add_definitions, include_directories and variables set in parent Cmakelist.txt

本文关键字:directories include 和父 Cmakelist definitions add 是否 继承 属性 例如 子目录      更新时间:2023-10-16

我有一个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 等属性是否会通过子文件夹 1、子文件夹 2 和公共文件夹

CMakeLists.txt几乎每个操作的效果都会传播到子目录(假设在操作之后调用add_subdirectory)。

add_definitionsinclude_directories遵循这种传播策略。