C
Qt Safe Monitor: Qt Quick Ultralite Example on Bare-Metal Traveo II
cmake_minimum_required(VERSION 3.21.1)
project(SafeUI VERSION 0.1 LANGUAGES C CXX ASM)
find_package(Qul REQUIRED)
# Build the application
qul_add_target(SafeUI QML_PROJECT SafeUI.qmlproject)
if(NOT DEFINED QSR_SOURCE_DIR)
message(FATAL_ERROR "QSR_SOURCE_DIR must be defined. Use -DQSR_SOURCE_DIR=<path>")
endif()
# Link Qul libraries
target_link_libraries(SafeUI PRIVATE Qul::SafeRenderer)
# Platform-specific extras
if(QUL_PLATFORM MATCHES "^tviic2d")
target_link_libraries(SafeUI PRIVATE Qul::PlatformTraveoIIExtras)
else()
target_compile_definitions(SafeUI PRIVATE DESKTOP_BUILD)
endif()
# Include paths
target_include_directories(SafeUI PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
${MONITOR_BUILD_DIR}/include
)
# Link QulMonitor libraries
target_link_libraries(SafeUI PRIVATE
${MONITOR_BUILD_DIR}/lib/libSignatureDriver.a
${MONITOR_BUILD_DIR}/lib/libSafeMonitor.a
${MONITOR_BUILD_DIR}/lib/libMonitorAdaptation.a
${MONITOR_BUILD_DIR}/lib/libOutputVerifier.a
${MONITOR_BUILD_DIR}/lib/libqsrmonitordata.a
${MONITOR_BUILD_DIR}/lib/libSafeRenderer.a
)
# Application source files
target_sources(SafeUI PRIVATE
src/main.cpp
src/DemoStatus.cpp
src/simulator.cpp
)
# OS-specific setup
app_target_setup_os(SafeUI)