C
Qt Quick Ultralite static_library Example
cmake_minimum_required (VERSION 3.15) project(static_library_example VERSION 0.0.1 LANGUAGES C CXX ASM) if (NOT TARGET Qul::Core) find_package(Qul) endif() 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) add_executable(static_library_example src/main.cpp ) # 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 include folder from QtForMCU installation folder ${Qul_DIR}/include # 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 # Static library containing UI and interfaces Qt4MCU_GUI # Static library with Qt QuickUltralite Core Qul::Core # Static library with Qt QuickUltralite Platform abstraction. # Should be replaced by custom implementation adapted to target board Qul::Platform # All additional Qul libraries used by QtForMCU GUI needs to be also # linked with application Qul::Controls # Satisfy cyclic dependency between Qt4MCU_GUI and Qul::Core # libraries (Qul::Core depends on symbols autogenerated # in Qt4MCU_GUI build process) Qul::Core Qt4MCU_GUI ) target_link_libraries(static_library_example PRIVATE Qul::PlatformDefaultLinkerScript) if(CMAKE_CROSSCOMPILING) set(CMAKE_EXECUTABLE_SUFFIX ".elf") endif()