53 lines
1.3 KiB
CMake
53 lines
1.3 KiB
CMake
|
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})
|