2015-05-01 2 views
2

Я пытаюсь настроить сборку кросс-компиляции с помощью CMake. До сих пор я устанавливаю файл кросс-компилятора, вызывающий CMake, как это из командной строки:Установка файла кросс-компилятора с использованием CMake GUI

#Call cmake with the given options 
cmake -D CMAKE_TOOLCHAIN_FILE=$cross_cmp_file \ 
     -D BUILD_TESTS:BOOLEAN=$build_test \ 
     ../src 

Это работает отлично.

Теперь я пытаюсь установить переменную CMAKE_TOOLCHAIN_FILE из GUI, добавив:

#CMAKE cross compiler file 
set(CMAKE_TOOLCHAIN_FILE "Toolchain file" CACHE FILEPATH "../arm-crosscompile.cmake") 

К моему CMakeLists.txt.

Это фактически показывает переменную в графическом интерфейсе, но когда я нажимаю кнопку «Configure», компилятор C++, который появляется в переменной CMAKE_CXX_COMPILER, по умолчанию имеет значение, а не тот, который указан в файле toolchain.

Как установить файл toolchain из Cmake-GUI?

ответ

6

Наконец-то получил. Достаточно просто.

При первом нажатии кнопки «Настроить» вы можете указать параметры генератора, выбрать любой генератор для своего проекта. Затем выберите опцию "Указать файл ToolChain для кросс-компиляции" и нажмите кнопку Далее:

Specifying the toolchain file for cross compiling:

Нажмите кнопку Далее. В следующем диалоговом окне введите путь к файлу кросс-компиляции, и все готово.

3

Вы задаете переменную до или после вызова до project()?

Обнаружение компилятора происходит внутри этого вызова, поэтому его необходимо установить перед тем, как попасть туда.

Хотя я не уверен, что вы можете изменить эти настройки после первого запуска.

Обычно вы устанавливаете toolchain при первом запуске Cmake, используя диалог стиля мастера.

+0

спасибо за ваш ответ. Я не знал, что есть диалог стиля мастера. Как его установить и выполнить в Linux? Еще раз спасибо. –

+0

@ElMarce на самом деле я думаю, что это часть версии Windows. Это первый раз, когда вы настраиваете. – Mario

+0

Вы можете удалить кеш, который сбрасывает конфигурацию. – optional

Смежные вопросы