54 lines
1.6 KiB
CMake
54 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(C909_V1_Interface LANGUAGES CXX)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
if(DEFINED ENV{XNCore})
|
|
set(XNCore_PATH $ENV{XNCore})
|
|
else()
|
|
message(FATAL_ERROR "Environment variable XNCore is not set.")
|
|
endif()
|
|
include_directories(${XNCore_PATH}/include)
|
|
if(NOT fastcdr_FOUND)
|
|
find_package(fastcdr 2 REQUIRED)
|
|
endif()
|
|
if(NOT fastdds_FOUND)
|
|
find_package(fastdds 3 REQUIRED)
|
|
endif()
|
|
find_package(OpenSSL REQUIRED)
|
|
add_library(C909_V1_Interface SHARED
|
|
C909_V1.hpp
|
|
C909_V1CdrAux.hpp
|
|
C909_V1CdrAux.ipp
|
|
C909_V1PubSubTypes.hpp
|
|
C909_V1PubSubTypes.cxx
|
|
C909_V1TypeObjectSupport.hpp
|
|
C909_V1TypeObjectSupport.cxx
|
|
ATA04/Aerodynamics_input.hpp
|
|
ATA04/Aerodynamics_input.cxx
|
|
ATA04/GroundHandling_input.hpp
|
|
ATA04/GroundHandling_input.cxx
|
|
ATA04/GroundHandling_output.hpp
|
|
ATA04/GroundHandling_output.cxx
|
|
ATA04/Aerodynamics_output.hpp
|
|
ATA04/Aerodynamics_output.cxx
|
|
ATA04/WeightBalance_input.hpp
|
|
ATA04/WeightBalance_input.cxx
|
|
ATA04/WeightBalance_output.hpp
|
|
ATA04/WeightBalance_output.cxx
|
|
)
|
|
target_link_libraries(C909_V1_Interface PRIVATE
|
|
fastcdr fastdds OpenSSL::SSL OpenSSL::Crypto
|
|
${XNCore_PATH}/lib/libXNCore.so
|
|
)
|
|
target_compile_definitions(C909_V1_Interface PRIVATE C909_V1_INTERFACE_LIBRARY)
|
|
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
|
set(CMAKE_INSTALL_PREFIX "${XNCore_PATH}" CACHE PATH "Install path prefix" FORCE)
|
|
endif()
|
|
include(GNUInstallDirs)
|
|
install(TARGETS C909_V1_Interface
|
|
RUNTIME DESTINATION .
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION .
|
|
)
|