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})