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?
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:
:
Click Next. In the following dialog, input the path to the cross-compilation file and you're done.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With