C
Qt Quick Ultralite Motorcycle Cluster Demo
cmake_minimum_required (VERSION 3.21.1) project(motor_cluster VERSION 0.0.1 LANGUAGES C CXX ASM) if (NOT TARGET Qul::Core) find_package(Qul) get_target_property(includes Qul::Core INTERFACE_INCLUDE_DIRECTORIES) endif() if(QUL_PLATFORM STREQUAL "mimxrt1170-evkb-freertos") set(QMLPROJECT_FILE "qmlproject/motor_cluster_rotated.qmlproject") set(DEFAULT_SIZE_VARIANT "big") else() set(QMLPROJECT_FILE "qmlproject/motor_cluster.qmlproject") set(DEFAULT_SIZE_VARIANT "small") endif() # This variable can be defined on the command line if (NOT DEFINED SIZE_VARIANT) set(SIZE_VARIANT ${DEFAULT_SIZE_VARIANT} CACHE STRING "Variant for motor cluster demo") endif() include(src/3rdparty/etl/CMakeLists.txt) set(MOTOR_CLUSTER_SELECTORS ${SIZE_VARIANT}) if(QUL_PLATFORM MATCHES "^rh850") list(APPEND MOTOR_CLUSTER_SELECTORS "rh850") elseif(QUL_PLATFORM MATCHES "^tviic2d") if(QUL_PLATFORM MATCHES "^tviic2d6mddr") list(APPEND MOTOR_CLUSTER_SELECTORS "traveo-t2g-cyt4en") else() list(APPEND MOTOR_CLUSTER_SELECTORS "traveo-t2g") endif() elseif(QUL_PLATFORM MATCHES "^ek-ra6m3g") list(APPEND MOTOR_CLUSTER_SELECTORS "ek-ra6m3g") elseif(QUL_PLATFORM MATCHES "^stm32f769") list(APPEND MOTOR_CLUSTER_SELECTORS "stm32f769" "intro" "15fps") elseif(QUL_PLATFORM MATCHES "^qt") list(APPEND MOTOR_CLUSTER_SELECTORS "qt" "intro") endif() if(QUL_PLATFORM MATCHES "^tviic2d") qul_add_target(motor_cluster QML_PROJECT ${QMLPROJECT_FILE} SELECTORS ${MOTOR_CLUSTER_SELECTORS} ) target_link_libraries(motor_cluster PRIVATE Qul::PlatformTraveoIIExtras) target_sources(motor_cluster PRIVATE src/traveo-t2g/main.cpp) else() qul_add_target(motor_cluster QML_PROJECT ${QMLPROJECT_FILE} SELECTORS ${MOTOR_CLUSTER_SELECTORS} GENERATE_ENTRYPOINT ) endif() target_sources(motor_cluster PRIVATE src/simulation/simulationcontroller.cpp src/simulation/states.cpp src/simulation/drivetrain.cpp src/simulation/normaldrivestate.cpp) target_include_directories(motor_cluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src) target_link_libraries(motor_cluster PRIVATE motor_cluster_etl) if(SIZE_VARIANT STREQUAL "big") target_include_directories(motor_cluster PRIVATE qmls/+big/gauges qmls/welcome) endif() app_target_setup_os(motor_cluster)