CMAKE_TOOLCHAIN_FILE не использовался проектом
Cmake дает это предупреждение при создании стороннего script:
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_TOOLCHAIN_FILE
Есть ли общие советы, что мне нужно проверить или как это исправить?
Ответы
Ответ 1
Это стандартное предупреждение дает вам, когда вы предоставляете ему параметр командной строки, который он не использует. Это дает -DFOO=bar
cmake, когда CMakeLists.txt не использует переменную FOO.
Теперь, это немного особый случай: CMAKE_TOOLCHAIN_FILE используется CMake при первой настройке вашей сборки, но поскольку вы не можете изменить инструментальную цепочку для уже настроенной сборки, она игнорируется каждый раз, таким образом, предупреждение.
Как сказал @Answeror, вы можете смело игнорировать предупреждение, но если это вас действительно беспокоит, вы можете скрыть его, указав --no-warn-unused-cli
на cmake.
Ответ 2
Если вы получили это сообщение с CLion после того, как вы установили
-DCMAKE_TOOLCHAIN_FILE=xxx
, вы захотите удалить все каталоги сборки CMake.
Do
Tools-> CMake -> Show Generated CMake Files in File Manager
затем удалите все каталоги сборки. Тогда do
Tools-> CMake -> Reload the CMake Project
Как только вы это сделаете, вы все равно получите предупреждение, но, по крайней мере, это будет наблюдаться при первом запуске cmake.
Ответ 3
То же самое произошло здесь, как указывал @js, это обычно означает, что вы создаете реликты cmake из прошлой конфигурации.
Сделайте rm -rf CMakeCache.txt CMakeFiles/
, и сообщение исчезнет при первом запуске cmake -DCMAKE_TOOLCHAIN_FILE=foo.cmake .
. Во второй раз они снова будут там, а @Guilaume ответил, что хорошо.
P.S.:
Сначала я сделал git clean --force
, но поскольку эти файлы обычно находятся в .gitignore
, это не reset сборка.