C
Qt Quick Ultralite static_library Example
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial
cmake_minimum_required (VERSION 3.21.1)
project(static_library_example VERSION 0.0.1 LANGUAGES C CXX ASM)
find_package(QulApp)
if(QUL_OS STREQUAL "FreeRTOS")
message(STATUS "Static library example is disabled for FreeRTOS based platforms")
return()
endif()
set(EXAMPLE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
# Add configuration of Qt4MCU_GUI target for prebuild step
add_subdirectory(lib/Qt_for_MCU)
if(CMAKE_CROSSCOMPILING)
set(CMAKE_EXECUTABLE_SUFFIX ".elf")
endif()
add_executable(static_library_example
src/main.cpp
)
qul_generate_flash_target(static_library_example)
# If QUL GUI library has IPO enabled then we need also enable it for our target
get_target_property(QUL_LIB_IPO_CONFIG Qt4MCU_GUI INTERPROCEDURAL_OPTIMIZATION)
set_target_properties(static_library_example PROPERTIES INTERPROCEDURAL_OPTIMIZATION ${QUL_LIB_IPO_CONFIG})
target_include_directories(static_library_example
PRIVATE
# Add folder containing qul_run.h header file
${CMAKE_CURRENT_BINARY_DIR}/lib/Qt_for_MCU
# Add folder containing sensorAPI.h header file
${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_link_libraries(static_library_example
PRIVATE
Qt4MCU_GUI
Qul::Controls
Qt4MCU_GUI
)
target_link_libraries(static_library_example PRIVATE Qul::PlatformDefaultLinkerScript)