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