project(LeahiRt DESCRIPTION "Leahi Real-time Cloud Data Transmission" LANGUAGES CXX ) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Network) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Network) find_package(Comms HINTS ${CMAKE_CURRENT_SOURCE_DIR}/../lib/Comms REQUIRED) find_package(MsgUtils HINTS ${CMAKE_CURRENT_SOURCE_DIR}/../lib/MsgUtils REQUIRED) set(LEAHI_MSG_CONF ${CMAKE_CURRENT_SOURCE_DIR}/../data/LeahiUnhandled.conf) set(INCLUDES LeahiRtController.h ) set(SRCS LeahiRtController.cpp main.cpp ) generate_msg_handling_ini(LEAHI_MSG_CONF ${CMAKE_CURRENT_SOURCE_DIR}/config/LeahiRtMsgHandling.ini generate_msg_handling_ini) add_executable(${PROJECT_NAME}) add_dependencies(${PROJECT_NAME} generate_msg_handling_ini) target_sources(${PROJECT_NAME} PRIVATE ${INCLUDES} ${SRCS}) set_target_properties(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../bin" ) target_link_libraries(${PROJECT_NAME} PRIVATE Comms MsgUtils Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network )