C

Monitor Integration to Qt Ultralite with AUTOSAR

cmake_minimum_required(VERSION 3.10)

project(QSRMonitorDataLib C CXX)

# Set library properties
set(LIBRARY_NAME qsrmonitordata)

# Set the CRC algorithm for monitor data generation
set(SAFE_LAYOUT_CRC_ALGORITHM "crc32" CACHE STRING "The CRC algorithm for the monitor data generation")

# Include directories
include_directories(
    ${CMAKE_SOURCE_DIR}
    ${CMAKE_CURRENT_BINARY_DIR}/generated
    ${CMAKE_BINARY_DIR}/include/QtSafeRenderer
)

# Generate the monitor data
qsr_generate_monitor_data(monitordata_gen
    SAFE_QML ${QSR_INPUT_QML}
    CRC_ALGORITHM ${SAFE_LAYOUT_CRC_ALGORITHM}
)

# Create an object library with the generated files
add_library(${LIBRARY_NAME} ${monitordata_gen_GENERATED_FILES})

# Add dependency on the generation target
add_dependencies(${LIBRARY_NAME} monitordata_gen)

# Set library properties
set_target_properties(${LIBRARY_NAME} PROPERTIES
    OUTPUT_NAME ${LIBRARY_NAME}
    LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
    ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
)

# Install rules
install(TARGETS ${LIBRARY_NAME}
    LIBRARY DESTINATION lib
    ARCHIVE DESTINATION lib
    RUNTIME DESTINATION bin
)