mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
219487d489 | ||
|
debc23b98b | ||
|
7ba85c8a2b | ||
|
0581a67a31 | ||
|
6a11639db8 | ||
|
29f5ed006a | ||
|
a01aac4467 | ||
|
d98207b475 | ||
|
00f1b56137 | ||
|
5c6be09e58 | ||
|
f2a753e1bd | ||
|
c6ea5a5631 | ||
|
b9651437c3 | ||
|
83315b2951 |
110
CMakeLists.txt
110
CMakeLists.txt
@@ -14,10 +14,10 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
||||
include(FairMQLib)
|
||||
|
||||
set_fairmq_cmake_policies()
|
||||
get_git_version(OUTVAR_PREFIX FairMQ)
|
||||
get_git_version()
|
||||
|
||||
project(FairMQ VERSION ${FairMQ_VERSION} LANGUAGES CXX)
|
||||
message(STATUS "${BWhite}${PROJECT_NAME}${CR} ${FairMQ_GIT_VERSION} from ${FairMQ_DATE}")
|
||||
project(FairMQ VERSION ${PROJECT_VERSION} LANGUAGES CXX)
|
||||
message(STATUS "${BWhite}${PROJECT_NAME}${CR} ${PROJECT_GIT_VERSION} from ${PROJECT_DATE}")
|
||||
|
||||
set_fairmq_defaults()
|
||||
|
||||
@@ -33,40 +33,33 @@ option(BUILD_DDS_PLUGIN "Build DDS plugin." OFF)
|
||||
|
||||
|
||||
# Dependencies #################################################################
|
||||
if(Boost_INCLUDE_DIR) # Silence output, if Boost was found already
|
||||
set(SILENCE_BOOST QUIET)
|
||||
endif()
|
||||
find_package(Boost 1.64 ${SILENCE_BOOST} REQUIRED
|
||||
find_package2(PUBLIC Boost VERSION 1.64 REQUIRED
|
||||
COMPONENTS program_options thread system filesystem regex date_time signals
|
||||
)
|
||||
|
||||
set(CMAKE_PREFIX_PATH ${FAIRLOGGER_ROOT} $ENV{FAIRLOGGER_ROOT} ${CMAKE_PREFIX_PATH})
|
||||
find_package(FairLogger 1.0.1 REQUIRED)
|
||||
|
||||
find_package(ZeroMQ 4.2.2 REQUIRED)
|
||||
find_package2(PUBLIC FairLogger VERSION 1.0.2 REQUIRED)
|
||||
find_package2(PRIVATE ZeroMQ VERSION 4.2.2 REQUIRED)
|
||||
|
||||
if(BUILD_NANOMSG_TRANSPORT)
|
||||
find_package(nanomsg REQUIRED)
|
||||
set(CMAKE_PREFIX_PATH ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT} ${CMAKE_PREFIX_PATH})
|
||||
find_package(msgpack 2.1.5 REQUIRED)
|
||||
find_package2(PRIVATE nanomsg VERSION 1.0.0 REQUIRED)
|
||||
find_package2(PRIVATE msgpack VERSION 2.1.5 REQUIRED)
|
||||
endif()
|
||||
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
find_package(OFI 1.6.0 REQUIRED COMPONENTS fi_sockets)
|
||||
find_package2(PRIVATE OFI VERSION 1.6.0 REQUIRED COMPONENTS fi_sockets)
|
||||
find_package2(PRIVATE Protobuf VERSION 3.4.0 REQUIRED)
|
||||
endif()
|
||||
|
||||
if(BUILD_DDS_PLUGIN)
|
||||
find_package(DDS 2.0 REQUIRED)
|
||||
find_package2(PRIVATE DDS VERSION 2.0 REQUIRED)
|
||||
endif()
|
||||
|
||||
if(BUILD_TESTING)
|
||||
find_package(GTest REQUIRED)
|
||||
find_package2(PRIVATE GTest VERSION 1.7.0 REQUIRED)
|
||||
endif()
|
||||
################################################################################
|
||||
|
||||
|
||||
# Targets ######################################################################
|
||||
# Configure Version.hpp
|
||||
configure_file(${PROJECT_NAME_LOWER}/Version.h.in
|
||||
${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}/Version.h
|
||||
@ONLY
|
||||
@@ -80,38 +73,97 @@ endif()
|
||||
################################################################################
|
||||
|
||||
|
||||
# Package components ###########################################################
|
||||
list(APPEND PROJECT_PACKAGE_COMPONENTS fairmq)
|
||||
list(APPEND PROJECT_PACKAGE_COMPONENTS tests)
|
||||
if(BUILD_DDS_PLUGIN)
|
||||
list(APPEND PROJECT_PACKAGE_COMPONENTS dds_plugin)
|
||||
endif()
|
||||
if(BUILD_NANOMSG_TRANSPORT)
|
||||
list(APPEND PROJECT_PACKAGE_COMPONENTS nanomsg_transport)
|
||||
endif()
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
list(APPEND PROJECT_PACKAGE_COMPONENTS ofi_transport)
|
||||
endif()
|
||||
################################################################################
|
||||
|
||||
|
||||
# Installation #################################################################
|
||||
install_fairmq_cmake_package()
|
||||
install(FILES ${CMAKE_BINARY_DIR}/${PROJECT_NAME_LOWER}/Version.h
|
||||
DESTINATION ${PROJECT_INSTALL_INCDIR}
|
||||
)
|
||||
|
||||
# Install cmake modules
|
||||
install(FILES cmake/FindZeroMQ.cmake
|
||||
DESTINATION ${PROJECT_INSTALL_CMAKEMODDIR}
|
||||
)
|
||||
if(BUILD_DDS_PLUGIN)
|
||||
install(FILES cmake/FindDDS.cmake
|
||||
DESTINATION ${PROJECT_INSTALL_CMAKEMODDIR}
|
||||
)
|
||||
endif()
|
||||
if(BUILD_NANOMSG_TRANSPORT)
|
||||
install(FILES cmake/Findnanomsg.cmake
|
||||
DESTINATION ${PROJECT_INSTALL_CMAKEMODDIR}
|
||||
)
|
||||
endif()
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
install(FILES cmake/FindOFI.cmake
|
||||
DESTINATION ${PROJECT_INSTALL_CMAKEMODDIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
install_cmake_package()
|
||||
################################################################################
|
||||
|
||||
|
||||
# Summary ######################################################################
|
||||
message(STATUS " ")
|
||||
message(STATUS " ${Cyan}DEPENDENCY VERSION ${CR}")
|
||||
foreach(dep IN LISTS PROJECT_PACKAGE_DEPENDENCIES)
|
||||
if(${dep}_VERSION)
|
||||
if(${dep} STREQUAL Boost)
|
||||
set(version_str "${BGreen}${${dep}_MAJOR_VERSION}.${${dep}_MINOR_VERSION}${CR}")
|
||||
else()
|
||||
set(version_str "${BGreen}${${dep}_VERSION}${CR}")
|
||||
endif()
|
||||
else()
|
||||
set(version_str "${BYellow}unknown${CR}")
|
||||
endif()
|
||||
if(PROJECT_${dep}_VERSION)
|
||||
set(version_req_str " (>= ${PROJECT_${dep}_VERSION})")
|
||||
endif()
|
||||
pad(${dep} 15 " " dep_padded)
|
||||
pad("${version_str}${version_req_str}" 20 " " version_padded)
|
||||
message(STATUS " ${BWhite}${dep_padded}${CR}${version_padded}")
|
||||
unset(version_str)
|
||||
endforeach()
|
||||
message(STATUS " ")
|
||||
message(STATUS " ${Cyan}COMPONENT BUILT? INFO${CR}")
|
||||
message(STATUS " ${BWhite}library${CR} ${BGreen}YES${CR} (default, always built)")
|
||||
message(STATUS " ${BWhite}fairmq${CR} ${BGreen}YES${CR} (default, always built)")
|
||||
if(BUILD_TESTING)
|
||||
set(tests_summary "${BGreen}YES${CR} (default, disable with ${BMagenta}-DBUILD_TESTING=OFF${CR})")
|
||||
else()
|
||||
set(tests_summary "${BRed} NO${CR} (enable with ${BMagenta}-DBUILD_TESTING=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}tests${CR} ${tests_summary}")
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
set(ofi_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_OFI_TRANSPORT=OFF${CR})")
|
||||
else()
|
||||
set(ofi_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_OFI_TRANSPORT=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}OFI transport${CR} ${ofi_summary} Experimental")
|
||||
if(BUILD_NANOMSG_TRANSPORT)
|
||||
set(nn_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_NANOMSG_TRANSPORT=OFF${CR})")
|
||||
else()
|
||||
set(nn_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_NANOMSG_TRANSPORT=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}nanomsg transport${CR} ${nn_summary}")
|
||||
message(STATUS " ${BWhite}nanomsg_transport${CR} ${nn_summary}")
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
set(ofi_summary "${BGreen}YES${CR} EXPERIMENTAL (disable with ${BMagenta}-DBUILD_OFI_TRANSPORT=OFF${CR})")
|
||||
else()
|
||||
set(ofi_summary "${BRed} NO${CR} EXPERIMENTAL (default, enable with ${BMagenta}-DBUILD_OFI_TRANSPORT=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}ofi_transport${CR} ${ofi_summary}")
|
||||
if(BUILD_DDS_PLUGIN)
|
||||
set(dds_summary "${BGreen}YES${CR} (disable with ${BMagenta}-DBUILD_DDS_PLUGIN=OFF${CR})")
|
||||
else()
|
||||
set(dds_summary "${BRed} NO${CR} (default, enable with ${BMagenta}-DBUILD_DDS_PLUGIN=ON${CR})")
|
||||
endif()
|
||||
message(STATUS " ${BWhite}DDS plugin${CR} ${dds_summary}")
|
||||
message(STATUS " ${BWhite}dds_plugin${CR} ${dds_summary}")
|
||||
message(STATUS " ")
|
||||
################################################################################
|
||||
|
57
README.md
57
README.md
@@ -4,19 +4,19 @@ C++ Message Queuing Library
|
||||
|
||||
## Dependencies
|
||||
|
||||
* **Boost** (PUBLIC)
|
||||
* **FairLogger** (PUBLIC)
|
||||
* CMake
|
||||
* GTest
|
||||
* Boost
|
||||
* FairLogger
|
||||
* dl
|
||||
* pthread
|
||||
* rt (Linux)
|
||||
* ZeroMQ
|
||||
* Msgpack (optional, nanomsg transport)
|
||||
* nanomsg (optional, nanomsg transport)
|
||||
* OFI (optional, OFI transport)
|
||||
* Protobuf (optional, OFI transport)
|
||||
* DDS (optional, DDS plugin)
|
||||
* GTest (optional, `tests`)
|
||||
* Msgpack (optional, `nanomsg_transport`)
|
||||
* nanomsg (optional, `nanomsg_transport`)
|
||||
* OFI (optional, `ofi_transport`)
|
||||
* Protobuf (optional, `ofi_transport`)
|
||||
* DDS (optional, `dds_plugin`)
|
||||
|
||||
## Installation
|
||||
|
||||
@@ -37,7 +37,7 @@ be environment variables).
|
||||
|
||||
## Usage
|
||||
|
||||
In your `CMakeLists.txt`:
|
||||
FairMQ ships as a CMake package, so in your `CMakeLists.txt` you can discover it like this:
|
||||
|
||||
```cmake
|
||||
find_package(FairMQ)
|
||||
@@ -46,24 +46,33 @@ find_package(FairMQ)
|
||||
If FairMQ is not installed in system directories, you can hint the installation:
|
||||
|
||||
```cmake
|
||||
set(CMAKE_PREFIX_PATH /path/to/FairMQ/installation ${CMAKE_PREFIX_PATH})
|
||||
set(CMAKE_PREFIX_PATH /path/to/FairMQ_install_prefix ${CMAKE_PREFIX_PATH})
|
||||
find_package(FairMQ)
|
||||
```
|
||||
|
||||
`find_package(FairMQ)` will define an imported target `FairMQ::FairMQ` (An alias `FairRoot::FairMQ` is also defined, but it is deprecated).
|
||||
`find_package(FairMQ)` will define an imported target `FairMQ::FairMQ` (An alias `FairRoot::FairMQ`
|
||||
is also defined for backwards compatibility, but it is deprecated).
|
||||
|
||||
By default, `find_package(FairMQ)` will also invoke `find_package` commands for all its dependencies. You can override this behaviour though, e.g.:
|
||||
In order to succesfully compile and link against the `FairMQ::FairMQ` target,
|
||||
you need to discover its public package dependencies, too.
|
||||
|
||||
```cmake
|
||||
set(FairMQ_PACKAGE_DEPENDENCIES_DISABLED ON)
|
||||
find_package(FairMQ)
|
||||
|
||||
find_package(Boost COMPONENTS ${FairMQ_BOOST_COMPONENTS})
|
||||
find_package(ZeroMQ)
|
||||
# ...
|
||||
find_package(FairLogger ${FairMQ_FairLogger_VERSION})
|
||||
find_package(Boost ${FairMQ_Boost_VERSION} COMPONENTS ${FairMQ_BOOST_COMPONENTS})
|
||||
```
|
||||
|
||||
The above is useful, if you need to customize the `find_package` calls of FairMQ's dependencies. Check the next section for more CMake options.
|
||||
Of course, feel free to customize the above commands to your needs.
|
||||
|
||||
Optionally, you can require certain FairMQ package components and a minimum version:
|
||||
|
||||
```cmake
|
||||
find_package(FairMQ 1.1.0 COMPONENTS nanomsg_transport dds_plugin)
|
||||
find_package(FairLogger ${FairMQ_FairLogger_VERSION})
|
||||
find_package(Boost ${FairMQ_Boost_VERSION} COMPONENTS ${FairMQ_BOOST_COMPONENTS})
|
||||
```
|
||||
|
||||
When building FairMQ, CMake will print a summary table of all available package components.
|
||||
|
||||
## CMake options
|
||||
|
||||
@@ -74,15 +83,13 @@ On command line:
|
||||
* `-DBUILD_NANOMSG_TRANSPORT=ON` enables building of nanomsg transport.
|
||||
* `-DBUILD_OFI_TRANSPORT=ON` enables building of the experimental OFI transport.
|
||||
* `-DBUILD_DDS_PLUGIN=ON` enables building of the DDS plugin.
|
||||
* You can hint non-system installations for dependent packages, see the #Installation section above
|
||||
|
||||
In front of the `find_package(FairMQ)` call:
|
||||
After the `find_package(FairMQ)` call the following CMake variables are defined:
|
||||
|
||||
* `set(FairMQ_PACKAGE_DEPENDENCIES_DISABLED ON)` disables implicit discovery of all transitive package dependencies.
|
||||
* ... TODO
|
||||
|
||||
After the `find_package(FairMQ)` the following CMake variables are defined:
|
||||
|
||||
* `${FairMQ_BOOST_COMPONENTS}` contains the list of Boost components FairMQ depends on.
|
||||
* `${FairMQ_Boost_VERSION}` contains the minimum Boost version FairMQ requires.
|
||||
* `${FairMQ_Boost_COMPONENTS}` contains the list of Boost components FairMQ depends on.
|
||||
* `${FairMQ_FairLogger_VERSION}` contains the minimum FairLogger version FairMQ requires.
|
||||
* ... TODO
|
||||
|
||||
## Documentation
|
||||
|
@@ -6,60 +6,35 @@
|
||||
# copied verbatim in the file "LICENSE" #
|
||||
################################################################################
|
||||
|
||||
cmake_minimum_required(VERSION 3.9.4 FATAL_ERROR)
|
||||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
### General variables for project discovery/inspection
|
||||
set(FAIRMQ_VERSION @PROJECT_VERSION@)
|
||||
set(FAIRMQ_GIT_VERSION @FAIRMQ_GIT_VERSION@)
|
||||
set(@PROJECT_NAME@_VERSION @PROJECT_VERSION@)
|
||||
set(@PROJECT_NAME@_GIT_VERSION @PROJECT_GIT_VERSION@)
|
||||
set(@PROJECT_NAME@_GIT_DATE @PROJECT_GIT_DATE@)
|
||||
|
||||
set_and_check(FairMQ_ROOT @PACKAGE_CMAKE_INSTALL_PREFIX@)
|
||||
set_and_check(FairMQ_BINDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@FairMQ_INSTALL_BINDIR@)
|
||||
set_and_check(FairMQ_INCDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@FairMQ_INSTALL_INCDIR@)
|
||||
set_and_check(FairMQ_LIBDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@FairMQ_INSTALL_LIBDIR@)
|
||||
set_and_check(FairMQ_DATADIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@FairMQ_INSTALL_DATADIR@)
|
||||
set_and_check(FairMQ_CMAKEMODDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@FairMQ_INSTALL_CMAKEMODDIR@)
|
||||
set_and_check(@PROJECT_NAME@_ROOT @PACKAGE_CMAKE_INSTALL_PREFIX@)
|
||||
set_and_check(@PROJECT_NAME@_BINDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@PROJECT_INSTALL_BINDIR@)
|
||||
set_and_check(@PROJECT_NAME@_INCDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@)
|
||||
set_and_check(@PROJECT_NAME@_LIBDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@PROJECT_INSTALL_LIBDIR@)
|
||||
set_and_check(@PROJECT_NAME@_DATADIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@PROJECT_INSTALL_DATADIR@)
|
||||
set_and_check(@PROJECT_NAME@_CMAKEMODDIR @PACKAGE_CMAKE_INSTALL_PREFIX@/@PROJECT_INSTALL_CMAKEMODDIR@)
|
||||
|
||||
set(@PROJECT_NAME@_CXX_STANDARD_REQUIRED @CMAKE_CXX_STANDARD_REQUIRED@)
|
||||
set(@PROJECT_NAME@_CXX_STANDARD @CMAKE_CXX_STANDARD@)
|
||||
set(@PROJECT_NAME@_CXX_EXTENSIONS @CMAKE_CXX_EXTENSIONS@)
|
||||
|
||||
### Import cmake modules
|
||||
set(CMAKE_MODULE_PATH ${FairMQ_CMAKEMODDIR} ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_MODULE_PATH ${@PROJECT_NAME@_CMAKEMODDIR} ${CMAKE_MODULE_PATH})
|
||||
|
||||
### Package dependencies
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
if( NOT (FairMQ_BOOST_DISABLED OR FairMQ_PACKAGE_DEPENDENCIES_DISABLED)
|
||||
AND (@Boost_FOUND@ OR FairMQ_Boost_REQUIRED))
|
||||
set(FairMQ_Boost_COMPONENTS system)
|
||||
if(FairMQ_ADDITIONAL_Boost_COMPONENTS)
|
||||
list(APPEND FairMQ_Boost_COMPONENTS ${FairMQ_ADDITIONAL_Boost_COMPONENTS})
|
||||
list(REMOVE_DUPLICATES FairMQ_Boost_COMPONENTS)
|
||||
endif()
|
||||
if(Boost_INCLUDE_DIR) # checks for cached boost variable which indicates if Boost is already found
|
||||
set(SILENCE_BOOST QUIET)
|
||||
endif()
|
||||
find_dependency(Boost 1.64 ${SILENCE_BOOST}
|
||||
COMPONENTS ${FairMQ_Boost_COMPONENTS}
|
||||
)
|
||||
endif()
|
||||
|
||||
if( NOT (FairMQ_OFI_DISABLED OR FairMQ_PACKAGE_DEPENDENCIES_DISABLED)
|
||||
AND (@OFI_FOUND@ OR FairMQ_OFI_REQUIRED))
|
||||
set(FairMQ_OFI_COMPONENTS fi_sockets)
|
||||
if(FairMQ_ADDITIONAL_OFI_COMPONENTS)
|
||||
list(APPEND FairMQ_OFI_COMPONENTS ${FairMQ_ADDITIONAL_OFI_COMPONENTS})
|
||||
list(REMOVE_DUPLICATES FairMQ_OFI_COMPONENTS)
|
||||
endif()
|
||||
find_dependency(OFI 1.6.0
|
||||
COMPONENTS ${FairMQ_OFI_COMPONENTS}
|
||||
)
|
||||
endif()
|
||||
@PACKAGE_DEPENDENCIES@
|
||||
|
||||
### Import targets
|
||||
include(@PACKAGE_CMAKE_INSTALL_PREFIX@/@PACKAGE_INSTALL_DESTINATION@/FairMQTargets.cmake)
|
||||
include(@PACKAGE_CMAKE_INSTALL_PREFIX@/@PACKAGE_INSTALL_DESTINATION@/@PROJECT_EXPORT_SET@.cmake)
|
||||
|
||||
### Alias target for backwards compat (DEPRECATED)
|
||||
if(NOT TARGET FairRoot::FairMQ)
|
||||
add_library(FairRoot::FairMQ ALIAS FairMQ::FairMQ)
|
||||
if(NOT TARGET FairRoot::@PROJECT_NAME@)
|
||||
add_library(FairRoot::@PROJECT_NAME@ ALIAS @PROJECT_NAME@::@PROJECT_NAME@)
|
||||
endif()
|
||||
|
||||
check_required_components(FairMQ)
|
||||
@PACKAGE_COMPONENTS@
|
||||
|
@@ -35,7 +35,9 @@ endif()
|
||||
macro(set_fairmq_cmake_policies)
|
||||
# Find more details to each policy with cmake --help-policy CMPXXXX
|
||||
foreach(policy
|
||||
CMP0025 # Compiler id for Apple Clang is now AppleClang.
|
||||
CMP0028 # Double colon in target name means ALIAS or IMPORTED target.
|
||||
CMP0042 # MACOSX_RPATH is enabled by default.
|
||||
CMP0048 # The ``project()`` command manages VERSION variables.
|
||||
CMP0054 # Only interpret ``if()`` arguments as variables or keywords when unquoted.
|
||||
)
|
||||
@@ -54,7 +56,7 @@ function(get_git_version)
|
||||
cmake_parse_arguments(ARGS "" "DEFAULT_VERSION;DEFAULT_DATE;OUTVAR_PREFIX" "" ${ARGN})
|
||||
|
||||
if(NOT ARGS_OUTVAR_PREFIX)
|
||||
set(ARGS_OUTVAR_PREFIX FairMQ)
|
||||
set(ARGS_OUTVAR_PREFIX PROJECT)
|
||||
endif()
|
||||
|
||||
if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git)
|
||||
@@ -103,6 +105,7 @@ endfunction()
|
||||
# Set defaults
|
||||
macro(set_fairmq_defaults)
|
||||
string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
|
||||
string(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UPPER)
|
||||
|
||||
# Set a default build type
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
@@ -120,6 +123,9 @@ macro(set_fairmq_defaults)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
endif()
|
||||
|
||||
# Set -fpic as default for all library types
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
# Generate compile_commands.json file (https://clang.llvm.org/docs/JSONCompilationDatabase.html)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
@@ -127,37 +133,114 @@ macro(set_fairmq_defaults)
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# Define install dirs
|
||||
set(FairMQ_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
|
||||
set(FairMQ_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME_LOWER})
|
||||
set(FairMQ_INSTALL_INCDIR ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME_LOWER})
|
||||
set(FairMQ_INSTALL_DATADIR ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME_LOWER})
|
||||
set(FairMQ_INSTALL_CMAKEMODDIR ${FairMQ_INSTALL_DATADIR}/cmake)
|
||||
set(PROJECT_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR})
|
||||
set(PROJECT_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
set(PROJECT_INSTALL_INCDIR ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME_LOWER})
|
||||
set(PROJECT_INSTALL_DATADIR ${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME_LOWER})
|
||||
set(PROJECT_INSTALL_CMAKEMODDIR ${PROJECT_INSTALL_DATADIR}/cmake)
|
||||
|
||||
# https://cmake.org/Wiki/CMake_RPATH_handling
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}" isSystemDir)
|
||||
if("${isSystemDir}" STREQUAL "-1")
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-Wl,--enable-new-dtags")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--enable-new-dtags")
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN/../${PROJECT_INSTALL_LIBDIR}")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(CMAKE_INSTALL_RPATH "@loader_path/../${PROJECT_INSTALL_LIBDIR}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${PROJECT_INSTALL_LIBDIR}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Define export set, only one for now
|
||||
set(FairMQ_EXPORT_SET ${PROJECT_NAME}Targets)
|
||||
set(PROJECT_EXPORT_SET ${PROJECT_NAME}Targets)
|
||||
endmacro()
|
||||
|
||||
function(join VALUES GLUE OUTPUT)
|
||||
string(REGEX REPLACE "([^\\]|^);" "\\1${GLUE}" _TMP_STR "${VALUES}")
|
||||
string(REGEX REPLACE "[\\](.)" "\\1" _TMP_STR "${_TMP_STR}") #fixes escaping
|
||||
set(${OUTPUT} "${_TMP_STR}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(pad str width char out)
|
||||
string(LENGTH ${str} length)
|
||||
math(EXPR padding "${width}-${length}")
|
||||
if(padding GREATER 0)
|
||||
foreach(i RANGE ${padding})
|
||||
set(str "${str}${char}")
|
||||
endforeach()
|
||||
endif()
|
||||
set(${out} ${str} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(generate_package_dependencies)
|
||||
join("${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES}" " " DEPS)
|
||||
set(PACKAGE_DEPENDENCIES "\
|
||||
####### Expanded from @PACKAGE_DEPENDENCIES@ by configure_package_config_file() #######
|
||||
|
||||
set(${PROJECT_NAME}_PACKAGE_DEPENDENCIES ${DEPS})
|
||||
|
||||
")
|
||||
foreach(dep IN LISTS PROJECT_INTERFACE_PACKAGE_DEPENDENCIES)
|
||||
join("${PROJECT_INTERFACE_${dep}_COMPONENTS}" " " COMPS)
|
||||
if(COMPS)
|
||||
string(CONCAT PACKAGE_DEPENDENCIES ${PACKAGE_DEPENDENCIES} "\
|
||||
set(${PROJECT_NAME}_${dep}_COMPONENTS ${COMPS})
|
||||
")
|
||||
endif()
|
||||
if(PROJECT_INTERFACE_${dep}_VERSION)
|
||||
string(CONCAT PACKAGE_DEPENDENCIES ${PACKAGE_DEPENDENCIES} "\
|
||||
set(${PROJECT_NAME}_${dep}_VERSION ${PROJECT_INTERFACE_${dep}_VERSION})
|
||||
")
|
||||
endif()
|
||||
endforeach()
|
||||
string(CONCAT PACKAGE_DEPENDENCIES ${PACKAGE_DEPENDENCIES} "\
|
||||
|
||||
#######################################################################################
|
||||
")
|
||||
set(PACKAGE_DEPENDENCIES ${PACKAGE_DEPENDENCIES} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(generate_package_components)
|
||||
join("${PROJECT_PACKAGE_COMPONENTS}" " " COMPS)
|
||||
set(PACKAGE_COMPONENTS "\
|
||||
####### Expanded from @PACKAGE_COMPONENTS@ by configure_package_config_file() #########
|
||||
|
||||
set(${PROJECT_NAME}_PACKAGE_COMPONENTS ${COMPS})
|
||||
|
||||
")
|
||||
foreach(comp IN LISTS PROJECT_PACKAGE_COMPONENTS)
|
||||
string(CONCAT PACKAGE_COMPONENTS ${PACKAGE_COMPONENTS} "\
|
||||
set(${PROJECT_NAME}_${comp}_FOUND TRUE)
|
||||
")
|
||||
endforeach()
|
||||
string(CONCAT PACKAGE_COMPONENTS ${PACKAGE_COMPONENTS} "\
|
||||
|
||||
check_required_components(${PROJECT_NAME})
|
||||
")
|
||||
set(PACKAGE_COMPONENTS ${PACKAGE_COMPONENTS} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Configure/Install CMake package
|
||||
macro(install_fairmq_cmake_package)
|
||||
# Install cmake modules
|
||||
install( FILES cmake/FindOFI.cmake
|
||||
DESTINATION ${FairMQ_INSTALL_CMAKEMODDIR}
|
||||
)
|
||||
|
||||
macro(install_cmake_package)
|
||||
include(CMakePackageConfigHelpers)
|
||||
set(PACKAGE_INSTALL_DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
|
||||
)
|
||||
install(EXPORT ${FairMQ_EXPORT_SET}
|
||||
install(EXPORT ${PROJECT_EXPORT_SET}
|
||||
NAMESPACE ${PROJECT_NAME}::
|
||||
DESTINATION ${PACKAGE_INSTALL_DESTINATION}
|
||||
EXPORT_LINK_INTERFACE_LIBRARIES
|
||||
)
|
||||
write_basic_package_version_file(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
generate_package_dependencies() # fills ${PACKAGE_DEPENDENCIES}
|
||||
generate_package_components() # fills ${PACKAGE_COMPONENTS}
|
||||
configure_package_config_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
@@ -170,3 +253,35 @@ macro(install_fairmq_cmake_package)
|
||||
DESTINATION ${PACKAGE_INSTALL_DESTINATION}
|
||||
)
|
||||
endmacro()
|
||||
|
||||
function(find_package2 qualifier pkgname)
|
||||
cmake_parse_arguments(ARGS "" "VERSION" "COMPONENTS" ${ARGN})
|
||||
|
||||
string(TOUPPER ${pkgname} pkgname_upper)
|
||||
set(CMAKE_PREFIX_PATH ${${pkgname_upper}_ROOT} $ENV{${pkgname_upper}_ROOT} ${CMAKE_PREFIX_PATH})
|
||||
if(ARGS_COMPONENTS)
|
||||
find_package(${pkgname} ${ARGS_VERSION} QUIET COMPONENTS ${ARGS_COMPONENTS} ${ARGS_UNPARSED_ARGUMENTS})
|
||||
else()
|
||||
find_package(${pkgname} ${ARGS_VERSION} QUIET ${ARGS_UNPARSED_ARGUMENTS})
|
||||
endif()
|
||||
|
||||
set(${pkgname}_VERSION ${${pkgname}_VERSION} PARENT_SCOPE)
|
||||
set(${pkgname}_MAJOR_VERSION ${${pkgname}_MAJOR_VERSION} PARENT_SCOPE)
|
||||
set(${pkgname}_MINOR_VERSION ${${pkgname}_MINOR_VERSION} PARENT_SCOPE)
|
||||
if(qualifier STREQUAL PRIVATE)
|
||||
set(PROJECT_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE)
|
||||
set(PROJECT_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE)
|
||||
set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE)
|
||||
elseif(qualifier STREQUAL PUBLIC)
|
||||
set(PROJECT_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE)
|
||||
set(PROJECT_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE)
|
||||
set(PROJECT_PACKAGE_DEPENDENCIES ${PROJECT_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE)
|
||||
set(PROJECT_INTERFACE_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE)
|
||||
set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE)
|
||||
set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE)
|
||||
elseif(qualifier STREQUAL INTERFACE)
|
||||
set(PROJECT_INTERFACE_${pkgname}_VERSION ${ARGS_VERSION} PARENT_SCOPE)
|
||||
set(PROJECT_INTERFACE_${pkgname}_COMPONENTS ${ARGS_COMPONENTS} PARENT_SCOPE)
|
||||
set(PROJECT_INTERFACE_PACKAGE_DEPENDENCIES ${PROJECT_INTERFACE_PACKAGE_DEPENDENCIES} ${pkgname} PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
@@ -39,6 +39,18 @@ find_library(DDS_USER_DEFAULTS_LIBRARY_SHARED
|
||||
DOC "Path to libdds-user-defaults.dylib libdds-user-defaults.so."
|
||||
)
|
||||
|
||||
find_file(DDS_VERSION_FILE
|
||||
NAMES version
|
||||
HINTS ${DDS_ROOT} $ENV{DDS_ROOT}
|
||||
PATH_SUFFIXES etc
|
||||
)
|
||||
|
||||
if(DDS_VERSION_FILE AND NOT DDS_VERSION)
|
||||
file(READ ${DDS_VERSION_FILE} DDS_VERSION)
|
||||
string(STRIP "${DDS_VERSION}" DDS_VERSION)
|
||||
set(DDS_VERSION ${DDS_VERSION} CACHE string "DDS version.")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(DDS
|
||||
REQUIRED_VARS
|
||||
@@ -47,6 +59,8 @@ find_package_handle_standard_args(DDS
|
||||
DDS_INTERCOM_LIBRARY_SHARED
|
||||
DDS_PROTOCOL_LIBRARY_SHARED
|
||||
DDS_USER_DEFAULTS_LIBRARY_SHARED
|
||||
|
||||
VERSION_VAR DDS_VERSION
|
||||
)
|
||||
|
||||
if(NOT TARGET DDS::dds_intercom_lib AND DDS_FOUND)
|
||||
|
@@ -1,39 +0,0 @@
|
||||
################################################################################
|
||||
# Copyright (C) 2014-2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
|
||||
# #
|
||||
# This software is distributed under the terms of the #
|
||||
# GNU Lesser General Public Licence (LGPL) version 3, #
|
||||
# copied verbatim in the file "LICENSE" #
|
||||
################################################################################
|
||||
|
||||
find_path(MSGPACK_INCLUDE_DIR
|
||||
NAMES msgpack.hpp
|
||||
HINTS ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT}
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
find_path(MSGPACK_LIBRARY_DIR
|
||||
NAMES libmsgpackc.dylib libmsgpackc.so
|
||||
HINTS ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT}
|
||||
PATH_SUFFIXES lib
|
||||
)
|
||||
|
||||
find_library(MSGPACK_LIBRARY_SHARED
|
||||
NAMES libmsgpackc.dylib libmsgpackc.so
|
||||
HINTS ${MSGPACK_ROOT} $ENV{MSGPACK_ROOT}
|
||||
PATH_SUFFIXES lib
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Msgpack
|
||||
REQUIRED_VARS MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY_DIR MSGPACK_LIBRARY_SHARED
|
||||
)
|
||||
|
||||
# idempotently import targets
|
||||
if(NOT TARGET Msgpack AND Msgpack_FOUND)
|
||||
add_library(Msgpack SHARED IMPORTED)
|
||||
set_target_properties(Msgpack PROPERTIES
|
||||
IMPORTED_LOCATION ${MSGPACK_LIBRARY_SHARED}
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${MSGPACK_INCLUDE_DIR}
|
||||
)
|
||||
endif()
|
@@ -20,7 +20,7 @@ endif()
|
||||
|
||||
# This should be the default as of CMake 3.1, but it is not set. BUG? Also, it does not work
|
||||
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH 1)
|
||||
find_package(PkgConfig)
|
||||
find_package(PkgConfig QUIET)
|
||||
|
||||
if(PKG_CONFIG_FOUND)
|
||||
# Find include dir and dependencies from pkgconfig
|
||||
|
@@ -29,15 +29,15 @@ endif()
|
||||
# subdirectories #
|
||||
##################
|
||||
# add_subdirectory(shmem/prototype)
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
add_subdirectory(ofi)
|
||||
endif()
|
||||
|
||||
|
||||
##########################
|
||||
# libFairMQ header files #
|
||||
##########################
|
||||
set(FAIRMQ_DEPRECATED_HEADER_FILES
|
||||
)
|
||||
set(FAIRMQ_HEADER_FILES
|
||||
${FAIRMQ_DEPRECATED_HEADER_FILES}
|
||||
DeviceRunner.h
|
||||
EventManager.h
|
||||
FairMQChannel.h
|
||||
@@ -185,40 +185,13 @@ configure_file(${CMAKE_SOURCE_DIR}/fairmq/options/startConfigExample.sh.in
|
||||
${CMAKE_BINARY_DIR}/bin/startConfigExample.sh)
|
||||
|
||||
|
||||
########################
|
||||
# compile protobuffers #
|
||||
########################
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
add_custom_target(mkofibuilddir COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/ofi)
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${CMAKE_CURRENT_BINARY_DIR}/ofi/Control.pb.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/ofi/Control.pb.cc
|
||||
COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} -I=${CMAKE_CURRENT_SOURCE_DIR}/ofi --cpp_out=${CMAKE_CURRENT_BINARY_DIR}/ofi Control.proto
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
DEPENDS mkofibuilddir ${CMAKE_CURRENT_SOURCE_DIR}/ofi/Control.proto
|
||||
)
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/ofi/Control.pb.h PROPERTIES GENERATED TRUE)
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/ofi/Control.pb.cc PROPERTIES GENERATED TRUE)
|
||||
endif()
|
||||
|
||||
|
||||
#################################
|
||||
# define libFairMQ build target #
|
||||
#################################
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
add_library(FairMQ SHARED
|
||||
${CMAKE_CURRENT_BINARY_DIR}/ofi/Control.pb.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/ofi/Control.pb.cc
|
||||
${FAIRMQ_SOURCE_FILES}
|
||||
${FAIRMQ_HEADER_FILES} # for IDE integration
|
||||
)
|
||||
else()
|
||||
add_library(FairMQ SHARED
|
||||
${FAIRMQ_SOURCE_FILES}
|
||||
${FAIRMQ_HEADER_FILES} # for IDE integration
|
||||
)
|
||||
endif()
|
||||
add_library(FairMQ SHARED
|
||||
${FAIRMQ_SOURCE_FILES}
|
||||
${FAIRMQ_HEADER_FILES} # for IDE integration
|
||||
)
|
||||
|
||||
#######################
|
||||
# include directories #
|
||||
@@ -239,7 +212,7 @@ if(BUILD_NANOMSG_TRANSPORT)
|
||||
set(NANOMSG_DEPS nanomsg msgpackc)
|
||||
endif()
|
||||
if(BUILD_OFI_TRANSPORT)
|
||||
set(OFI_DEPS OFI::libfabric protobuf::libprotobuf)
|
||||
set(OFI_DEPS OFI::libfabric protobuf::libprotobuf $<TARGET_OBJECTS:OfiTransport>)
|
||||
endif()
|
||||
target_link_libraries(FairMQ
|
||||
INTERFACE # only consumers link against interface dependencies
|
||||
@@ -263,7 +236,10 @@ target_link_libraries(FairMQ
|
||||
${NANOMSG_DEPS}
|
||||
${OFI_DEPS}
|
||||
)
|
||||
|
||||
set_target_properties(FairMQ PROPERTIES
|
||||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}"
|
||||
)
|
||||
|
||||
###############
|
||||
# executables #
|
||||
@@ -309,16 +285,17 @@ install(
|
||||
sink
|
||||
splitter
|
||||
shmmonitor
|
||||
uuidGen
|
||||
|
||||
EXPORT ${FairMQ_EXPORT_SET}
|
||||
LIBRARY DESTINATION ${FairMQ_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${FairMQ_INSTALL_BINDIR}
|
||||
EXPORT ${PROJECT_EXPORT_SET}
|
||||
LIBRARY DESTINATION ${PROJECT_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${PROJECT_INSTALL_BINDIR}
|
||||
)
|
||||
|
||||
# preserve relative path and prepend fairmq
|
||||
foreach(HEADER ${FAIRMQ_HEADER_FILES})
|
||||
get_filename_component(_path ${HEADER} DIRECTORY)
|
||||
file(TO_CMAKE_PATH include/fairmq/${_path} _destination)
|
||||
file(TO_CMAKE_PATH ${PROJECT_INSTALL_INCDIR}/${_path} _destination)
|
||||
install(FILES ${HEADER}
|
||||
DESTINATION ${_destination}
|
||||
)
|
||||
|
@@ -13,7 +13,7 @@
|
||||
#define FAIRMQ_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
|
||||
#define FAIRMQ_VERSION_MINOR @PROJECT_VERSION_MINOR@
|
||||
#define FAIRMQ_VERSION_PATCH @PROJECT_VERSION_PATCH@
|
||||
#define FAIRMQ_GIT_VERSION "@FairMQ_GIT_VERSION@"
|
||||
#define FAIRMQ_GIT_DATE "@FairMQ_GIT_DATE@"
|
||||
#define FAIRMQ_GIT_VERSION "@PROJECT_GIT_VERSION@"
|
||||
#define FAIRMQ_GIT_DATE "@PROJECT_GIT_DATE@"
|
||||
|
||||
#endif // FAIR_MQ_VERSION_H
|
||||
|
12
fairmq/ofi/CMakeLists.txt
Normal file
12
fairmq/ofi/CMakeLists.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
################################################################################
|
||||
# Copyright (C) 2018 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH #
|
||||
# #
|
||||
# This software is distributed under the terms of the #
|
||||
# GNU Lesser General Public Licence (LGPL) version 3, #
|
||||
# copied verbatim in the file "LICENSE" #
|
||||
################################################################################
|
||||
|
||||
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS Control.proto)
|
||||
|
||||
add_library(OfiTransport OBJECT ${PROTO_SRCS} ${PROTO_HDRS})
|
||||
target_include_directories(OfiTransport PRIVATE $<TARGET_PROPERTY:protobuf::libprotobuf,INTERFACE_INCLUDE_DIRECTORIES>)
|
@@ -18,7 +18,7 @@ target_link_libraries(${exe} FairMQ DDS::dds_intercom_lib DDS::dds_protocol_lib
|
||||
target_include_directories(${exe} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
install(TARGETS ${plugin} ${exe}
|
||||
EXPORT ${FairMQ_EXPORT_SET}
|
||||
LIBRARY DESTINATION ${FairMQ_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${FairMQ_INSTALL_BINDIR}
|
||||
EXPORT ${PROJECT_EXPORT_SET}
|
||||
LIBRARY DESTINATION ${PROJECT_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${PROJECT_INSTALL_BINDIR}
|
||||
)
|
||||
|
Reference in New Issue
Block a user