Как передать переменную из командной строки в файл CMake Toolhain? - PullRequest
0 голосов
/ 29 августа 2018

Есть ли способ передать переменную в файл цепочки инструментов при вызове cmake?

Например, у меня есть следующий файл цепочки инструментов:

message("FOO = ${FOO}")

Я попробовал следующее, но это не сработало. Переменная не задана в файле цепочки инструментов.

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

То, чего я на самом деле пытаюсь достичь, это передать путь к файлу набора инструментов. И я не могу изменить основной CMakeLists.txt в.

1 Ответ

0 голосов
/ 29 августа 2018

Вы должны установить путь к файлу набора инструментов с помощью -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

не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...