この「cmake子」がその親のすべての変数を認識できるように、他のcmakeファイルからスクリプトモード(-P)で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を呼び出すオプションなどはありますか?