如何从其他 cmake 文件以脚本模式 (-P) 调用 cmake 文件,所以这个“cmake child”知道其父级的所有变量?因为,如果我有很多孩子需要的变量,我必须写很多 -D 选项,我想避免它。
例子:
// CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
set(teststr "Hello World!")
add_custom_command(test
${CMAKE_COMMAND} -Dteststr=${teststr} -P test.cmake
)
// test.cmake
message("${teststr}")
$ cmake .
$ make test
Hello world!
Built target test
工作正常!。但是,没有“-Dteststr”:
// CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
set(teststr "Hello World!")
add_custom_command(test
${CMAKE_COMMAND} -P test.cmake
)
// test.cmake
message("${teststr}")
$ cmake .
$ make test
Built target test
当然,如果没有 -D 选项,test.cmake 中的“teststr”变量是未设置的,因此输出为空。
在“遗产模式”或类似的情况下调用 test.cmake 的任何选项?