Search code examples
cmakecmake-gui

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?


Solution

  • 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.