2025-04-28 12:25:20 +08:00

53 lines
1.3 KiB
CMake
Executable File

cmake_minimum_required(VERSION 3.16)
project(XNAerodynamicsInterface 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(XNAerodynamicsInterface SHARED
XNAerodynamics.hpp
XNAerodynamicsInterface.hpp
XNAerodynamicsInterface.cxx
XNAerodynamicsCdrAux.hpp
XNAerodynamicsCdrAux.ipp
XNAerodynamicsPubSubTypes.hpp
XNAerodynamicsPubSubTypes.cxx
XNAerodynamicsTypeObjectSupport.hpp
XNAerodynamicsTypeObjectSupport.cxx
)
target_link_libraries(XNAerodynamicsInterface PRIVATE
Qt${QT_VERSION_MAJOR}::Core
fastcdr
fastdds
OpenSSL::SSL
OpenSSL::Crypto
)
target_compile_definitions(XNAerodynamicsInterface PRIVATE XNAERODYNAMICSINTERFACE_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 XNAerodynamicsInterface
BUNDLE DESTINATION .
LIBRARY DESTINATION .
RUNTIME DESTINATION .
)
# 添加自定义命令和目标以拷贝配置文件
file(GLOB IDL_FILE "*.idl")
# 使用 install 命令在安装时拷贝配置文件
install(FILES ${IDL_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX})