У меня есть пара библиотек, скомпилированных для разных архитектур (x86, x86_64, amrv7 ... et c) в структуре каталогов, как показано ниже:
(prefix)
|-> lib
|-> x86
|-> x86_64
|-> ...
Намерение установить CMAKE_LIBRARY_ARCHITECTURE
с использованием файла цепочки инструментов. Однако cmake сбрасывает эту переменную и даже не найден в CMakeCache.txt
.
Пример файла цепочки инструментов показан ниже:
set(CMAKE_C_COMPILER clang)
set(CMAKE_CXX_COMPILER clang++)
set(CMAKE_C_FLAGS "-m64")
set(CMAKE_CXX_FLAGS "-m64")
set(CMAKE_LIBRARY_ARCHITECTURE x86_64)
Во время настройки CMAKE_PREFIX_PATH
имеет значение (prefix)
согласно приведенной выше структуре каталогов. Однако, поскольку CMAKE_LIBRARY_ARCHITECTURE
не устанавливается, конфигурация cmake завершается неудачно.
Другое наблюдение состоит в том, что, когда я принудительно CMAKE_LIBRARY_ARCHITECTURE
из CMakeLists.txt
с той же самой командой set
(только в качестве теста), конфигурация идет успешно, как надо.
Это ожидаемое поведение? Как настроить CMAKE_LIBRARY_ARCHITECTURE
для использования в lib
пути поиска с помощью цепочки инструментов?
Подробности
Хост: GNU / Linux x86_64
cmake version 3.17.2
clang версия 10.0.0-4ubuntu1