CMake: пользовательский набор инструментов: CMAKE_AR и CMAKE_CXX_ARCHIVE_CREATE

У меня есть собственный набор инструментов. Я установил переменную CMAKE_AR с путем к правильной программе ar. Однако, пока я строю статическую библиотеку, у меня появляется ошибка:

cmd.exe /C "cd . && "C:\Program Files (x86)\CMake\bin\cmake.exe" -E remove Library\libLibrary.a && "" qc Library\libLibrary.a  Library/CMakeFiles/Library.dir/src/Library.cpp.obj && cd ."'""' is not recognized as an internal or external command,

Если я правильно заметил, CMake использует переменную CMAKE_CXX_ARCHIVE_CREATE для создания библиотеки. Его значение по умолчанию:

set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> qc <TARGET> <LINK_FLAGS> <OBJECTS>")

(https://github.com/Kitware/CMake/blob/v3.10.3/Modules/CMakeCXXInformation.cmake)
Проблема в том, что часть не заменяется переменной CMAKE_AR. Это странно, потому что и кажется правильным.
Я знаю, что могу изменить в CMAKE_CXX_ARCHIVE_CREATE, заменив его на путь к программе, но мне нужно будет также изменить другие переменные.

CMake: 3.10.2
ОС: Windows 10

Кажется, это ошибка в CMake.

0

Решение

Это я был виноват.
Я установил CMAKE_TOOLCHAIN ​​во время вызова cmake:

cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE=../app/toolchain.cmake ../app

Однако я не включил этот toolchain.cmake в CMakeLists.txt. Я думал, что установки CMAKE_TOOLCHAIN ​​достаточно. Довольно странно, что видны изменения некоторых переменных, но не всех.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector