CMAKE_LIBRARY_ARCHITECTURE сбрасывается при передаче через цепочку инструментов или командную строку - PullRequest
0 голосов
/ 01 мая 2020

У меня есть пара библиотек, скомпилированных для разных архитектур (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

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