2025-05-22 08:53:29 +08:00

53 lines
1.3 KiB
CMake
Executable File

cmake_minimum_required(VERSION 3.16)
project(XNGroundHandlingInterface LANGUAGES CXX)
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(XNGroundHandlingInterface SHARED
XNGroundHandling.hpp
XNGroundHandlingInterface.hpp
XNGroundHandlingInterface.cxx
XNGroundHandlingCdrAux.hpp
XNGroundHandlingCdrAux.ipp
XNGroundHandlingPubSubTypes.hpp
XNGroundHandlingPubSubTypes.cxx
XNGroundHandlingTypeObjectSupport.hpp
XNGroundHandlingTypeObjectSupport.cxx
)
target_link_libraries(XNGroundHandlingInterface PRIVATE
fastcdr
fastdds
OpenSSL::SSL
OpenSSL::Crypto
${XNCore_PATH}/lib/libXNCore.so
)
target_compile_definitions(XNGroundHandlingInterface PRIVATE XNGROUNDHANDLINGINTERFACE_LIBRARY)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${XNCore_PATH}/Models" CACHE PATH "Install path prefix" FORCE)
endif()
include(GNUInstallDirs)
install(TARGETS XNGroundHandlingInterface
BUNDLE DESTINATION .
LIBRARY DESTINATION .
RUNTIME DESTINATION .
)
# 添加自定义命令和目标以拷贝配置文件
file(GLOB IDL_FILE "*.idl")
# 使用 install 命令在安装时拷贝配置文件
install(FILES ${IDL_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX})