我该如何在脚本模式(-P)中从其他cmake文件调用一个cmake文件,以便这个“cmake子文件”知道其父文件的所有变量?因为如果我有很多变量是子文件需要的,我就必须编写许多-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选项或类似的选项?