C
CMake manual for STM boards
The CMake build tool simplifies the build process for development projects. It automatically generates build systems, such as Makefiles and Visual Studio project files.
CMake is a third-party tool with its own documentation. This topic describes how to use CMake with Qt Quick Ultralite when developing applications for STM boards.
QUL_ROOT
and QUL_TOOLS
are used in the command line examples below as if they were set as environment variables. For example:
export QUL_ROOT=$HOME/Qt/QtMCUs/2.8.1 export QUL_TOOLS=$HOME/Qt/Tools/QtMCUs
set QUL_ROOT=C:\Qt\QtMCUs\2.8.1 set QUL_TOOLS=C:\Qt\Tools\QtMCUs
Command line setup
To get started from the command line, make the following changes to System PATH
.
- Add STM32CubeProg install directory to
System PATH
if it is not installed in the default location. - Add
ST-LINK_gdbserver.exe
directory to yourSystem PATH
<STM32_CUBE_IDE_INSTALL_PATH>\stm32cubeide_1.3.0\plugins\com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_1.3.0.202002181050\tools\bin
where,
<STM32_CUBE_IDE_INSTALL_PATH>
is the Cube IDE install path.Note: STM32CubeIDE is optional and required only for on-chip debugging purposes.
Build configuration
Configure the following CMake variables when developing applications for STM boards.
Variable | Value |
---|---|
Qul_ROOT | Set the Qul_ROOT to the Qt for MCUs SDK install path.-DQul_ROOT=%QUL_ROOT% Note: This CMake variable is intentionally mixed-case since it needs to match the package name. |
QUL_PLATFORM | The platform name must indicate the board and the OS you want to target. It's a combination of the chosen board's name and the OS you are targeting. The platform name in the following example indicates that your target is STM32F469I discovery on baremetal.-DQUL_PLATFORM=stm32f469i-discovery-baremetal Note: If you want to target another board or OS, refer to Supported platforms for more information. |
FREERTOS_DIR | Absolute path to the FreeRTOS sources directory. It is required for FreeRTOS targets only. Refer to FreeRTOS platforms for more information about boards on FreeRTOS.-DFREERTOS_DIR=< FreeRTOS directory path > |
CMAKE_TOOLCHAIN_FILE | For example, set it to the Arm GCC toolchain configuration file.
-DCMAKE_TOOLCHAIN_FILE=$QUL_ROOT/lib/cmake/Qul/toolchain/armgcc.cmake -DCMAKE_TOOLCHAIN_FILE=%QUL_ROOT%\lib\cmake\Qul\toolchain\armgcc.cmake |
QUL_TARGET_TOOLCHAIN_DIR | QUL_TARGET_TOOLCHAIN_DIR CMake cache entry needs to be used to provide the location of the used toolchain.-DQUL_TARGET_TOOLCHAIN_DIR=c:\path\to\the\toolchain |
QUL_BOARD_SDK_DIR | For example, set it to the STM32F769I SDK install path-DQUL_BOARD_SDK_DIR=%QUL_TOOLS%\STM\STM32Cube_FW_F7_<version> |
QUL_COLOR_DEPTH | The color depth supported by the platform you have chosen. For example, set it to 16-bit.-DQUL_COLOR_DEPTH=16 Note: If this variable is not set, default color depth is used while configuring for the platform. |
Note: In a Qt Quick Ultralite project, CMAKE_BUILD_TYPE
is set to MinSizeRel
by default. MinSizeRel
is the build type used for the prebuilt platform libraries shipped with Qt Quick Ultralite. To change the build type (to Release
for example), invoke CMake with the -DCMAKE_BUILD_TYPE=Release
option. For more information, see CMAKE_BUILD_TYPE.
Available under certain Qt licenses.
Find out more.