Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting a cross-compiler file using the CMake GUI

I'm trying set-up my cross-compile build using CMake. So far I'm setting the cross compiler file calling CMake like this from the command line:

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

This works just fine.

Now I'm trying to set the CMAKE_TOOLCHAIN_FILE variable from the GUI by adding:

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

To my CMakeLists.txt.

This actually shows the variable in the GUI but when I press the "Configure" button, the c++ compiler that appear in the CMAKE_CXX_COMPILER variable is the one by default and not the one specified in the toolchain file.

How can I set the toolchain file from the Cmake-GUI?

like image 423
El Marce Avatar asked May 01 '15 06:05

El Marce


2 Answers

Finally got it. Simple enough.

The first time you press the "Configure" button you will get to specify the generator parameters, select any generator for your project. Then select the option "Specify toolchain file for cross-compiling" and click next:

Specifying the toolchain file for cross compiling:

Click Next. In the following dialog, input the path to the cross-compilation file and you're done.

like image 83
El Marce Avatar answered Sep 17 '22 18:09

El Marce


Do you set the variable before or after the call to project()?

The compiler detection happens inside that call so it has to be set before getting there.

Although I'm not sure you're able to change these settings after the first run.

Usually you'd set the toolchain the first time you run Cmake using the wizard style dialog.

like image 44
Mario Avatar answered Sep 17 '22 18:09

Mario