123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- # Author:
- # Sven Czarnian <devel@svcz.de>
- # Copyright:
- # 2021 Sven Czarnian
- # License:
- # GNU General Public License (GPLv3)
- # Brief:
- # Creates the plug-in which is used by Euroscope
- ADD_DEFINITIONS(-DCURL_STATICLIB)
- # define the Google Protobuf-files
- SET(PROTO_FILES
- ${CMAKE_CURRENT_SOURCE_DIR}/com/protobuf/Aircraft.proto
- ${CMAKE_CURRENT_SOURCE_DIR}/com/protobuf/AircraftReport.proto
- ${CMAKE_CURRENT_SOURCE_DIR}/com/protobuf/AircraftSchedule.proto
- ${CMAKE_CURRENT_SOURCE_DIR}/com/protobuf/BaseTypes.proto
- ${CMAKE_CURRENT_SOURCE_DIR}/com/protobuf/Communication.proto
- )
- # generate the Protobuf C++ files
- SET(PROTO_SOURCE_FILES "")
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
- ProtobufCompile("${PROTO_FILES}" PROTO_SOURCE_FILES)
- SET(SOURCE_FILES
- ArrivalMANagerMain.cpp
- PlugIn.cpp
- PlugIn.h
- RadarScreen.cpp
- RadarScreen.h
- stdafx.cpp
- stdafx.h
- )
- SET(SOURCE_COM_FILES
- com/Backend.cpp
- com/ZmqContext.cpp
- com/ZmqContext.h
- )
- SET(SOURCE_CONFIG_FILES
- config/CommunicationFileFormat.cpp
- config/FileFormat.cpp
- config/IdentifierFileFormat.cpp
- )
- SET(SOURCE_TYPES_FILES
- types/ArrivalWaypoint.cpp
- types/GeoCoordinate.cpp
- )
- SET(SOURCE_FILES_RES
- ${CMAKE_BINARY_DIR}/ArrivalMANager.rc
- ${CMAKE_SOURCE_DIR}/res/resource.h
- ${CMAKE_SOURCE_DIR}/res/targetver.h
- )
- SET(INCLUDE_COM_FILES
- ${CMAKE_SOURCE_DIR}/include/aman/com/Backend.h
- )
- SET(INCLUDE_CONFIG_FILES
- ${CMAKE_SOURCE_DIR}/include/aman/config/CommunicationFileFormat.h
- ${CMAKE_SOURCE_DIR}/include/aman/config/FileFormat.h
- ${CMAKE_SOURCE_DIR}/include/aman/config/IdentifierFileFormat.h
- )
- SET(INCLUDE_HELPER_FILES
- ${CMAKE_SOURCE_DIR}/include/aman/helper/Math.h
- ${CMAKE_SOURCE_DIR}/include/aman/helper/String.h
- ${CMAKE_SOURCE_DIR}/include/aman/helper/UtcTime.h
- )
- SET(INCLUDE_TYPES_FILES
- ${CMAKE_SOURCE_DIR}/include/aman/types/AltitudeWindData.h
- ${CMAKE_SOURCE_DIR}/include/aman/types/ArrivalWaypoint.h
- ${CMAKE_SOURCE_DIR}/include/aman/types/Communication.h
- ${CMAKE_SOURCE_DIR}/include/aman/types/GeoCoordinate.h
- ${CMAKE_SOURCE_DIR}/include/aman/types/Quantity.hpp
- )
- # define the plug in
- ADD_LIBRARY(
- ArrivalMANager SHARED
- ${SOURCE_FILES_RES}
- ${SOURCE_COM_FILES}
- ${SOURCE_CONFIG_FILES}
- ${SOURCE_TYPES_FILES}
- ${SOURCE_FILES}
- ${PROTO_SOURCE_FILES}
- ${PROTO_FILES}
- ${INCLUDE_COM_FILES}
- ${INCLUDE_CONFIG_FILES}
- ${INCLUDE_HELPER_FILES}
- ${INCLUDE_TYPES_FILES}
- )
- # define the dependencies
- TARGET_INCLUDE_DIRECTORIES(ArrivalMANager INTERFACE EuroScope)
- TARGET_LINK_LIBRARIES(ArrivalMANager EuroScope libcurl GSL Shlwapi)
- TARGET_LINK_LIBRARIES(ArrivalMANager cppzmq protobuf jsoncpp GeographicLib)
- # configure the debugger and update the linker flags
- IF(MSVC)
- SET_TARGET_PROPERTIES(ArrivalMANager
- PROPERTIES
- VS_DEBUGGER_COMMAND ${EuroScope_EXECUTABLE}
- VS_DEBUGGER_WORKING_DIRECTORY ${EuroScope_DIR}
- )
- SET_TARGET_PROPERTIES(ArrivalMANager
- PROPERTIES
- LINK_FLAGS /SUBSYSTEM:WINDOWS
- )
- ENDIF()
- SOURCE_GROUP("Generated Files" FILES ${PROTO_SOURCE_FILES})
- SOURCE_GROUP("Protocol Files" FILES ${PROTO_FILES})
- SOURCE_GROUP("Source Files" FILES ${SOURCE_FILES})
- SOURCE_GROUP("Source Files\\com" FILES ${SOURCE_COM_FILES})
- SOURCE_GROUP("Source Files\\config" FILES ${SOURCE_CONFIG_FILES})
- SOURCE_GROUP("Source Files\\types" FILES ${SOURCE_TYPES_FILES})
- SOURCE_GROUP("Source Files\\res" FILES ${SOURCE_FILES_RES})
- SOURCE_GROUP("Header Files\\com" FILES ${INCLUDE_COM_FILES})
- SOURCE_GROUP("Header Files\\config" FILES ${INCLUDE_CONFIG_FILES})
- SOURCE_GROUP("Header Files\\helper" FILES ${INCLUDE_HELPER_FILES})
- SOURCE_GROUP("Header Files\\types" FILES ${INCLUDE_TYPES_FILES})
|