如何将变量从命令行传递到 CMake 工具海文件?



有没有办法在调用cmake时将变量传递给工具链文件?

例如,我有以下工具链文件:

message("FOO = ${FOO}")

我尝试了以下方法,但没有奏效。未在工具链文件中设置该变量。

cmake <src-dir> -DCMAKE_TOOLCHAIN_FILE=<toolchain-file> -DFOO="bar" -B <build-dir>

我实际上要实现的是传递工具链文件的路径。而且我无法修改主要的 CMakeLists.txt 中的 .

您必须使用-DCMAKE_TOOLCHAIN_FILE设置工具链文件的路径。以下内容对我有用(cmake3 版本 3.12.0(:

ToolChain.cmake:

message("Toolchain file loaded with path: ${FOO}")

CMakeLists.txt 空

cmake -DCMAKE_TOOLCHAIN_FILE=./ToolChain.cmake . -DFOO=/path

输出为:

Toolchain file loaded with path: /path

<src-path>-DCMAKE_TOOLCHAIN_FILE=./ToolChain.cmake的顺序很重要。

cmake . -DCMAKE_TOOLCHAIN_FILE=./ToolChain.cmake -DFOO=/path

不行。

相关内容

  • 没有找到相关文章

最新更新