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
)