mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
SDK: Add CMake skeleton
* New build flag BUILD_SDK * New component "sdk"
This commit is contained in:
committed by
Dennis Klein
parent
b1c8264123
commit
3da5f4d5db
80
fairmq/sdk/CMakeLists.txt
Normal file
80
fairmq/sdk/CMakeLists.txt
Normal file
@@ -0,0 +1,80 @@
|
||||
################################################################################
|
||||
# Copyright (C) 2019 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" #
|
||||
################################################################################
|
||||
|
||||
################
|
||||
# libFairMQSDK #
|
||||
################
|
||||
set(target FairMQ_SDK)
|
||||
|
||||
set(SDK_PUBLIC_HEADER_FILES
|
||||
Session.h
|
||||
Topology.h
|
||||
)
|
||||
|
||||
set(SDK_PRIVATE_HEADER_FILES
|
||||
)
|
||||
|
||||
set(SDK_SOURCE_FILES
|
||||
Session.cxx
|
||||
Topology.cxx
|
||||
)
|
||||
|
||||
add_library(${target}
|
||||
${SDK_SOURCE_FILES}
|
||||
${SDK_PUBLIC_HEADER_FILES} # for IDE integration
|
||||
${SDK_PRIVATE_HEADER_FILES} # for IDE integration
|
||||
)
|
||||
set_target_properties(${target} PROPERTIES LABELS coverage)
|
||||
target_compile_definitions(${target} PUBLIC BOOST_ERROR_CODE_HEADER_ONLY)
|
||||
target_include_directories(${target}
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
)
|
||||
target_link_libraries(${target}
|
||||
PUBLIC
|
||||
FairLogger::FairLogger
|
||||
|
||||
PRIVATE
|
||||
DDS::dds_intercom_lib
|
||||
DDS::dds_protocol_lib
|
||||
)
|
||||
set_target_properties(${target} PROPERTIES
|
||||
VERSION ${PROJECT_GIT_VERSION}
|
||||
SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}"
|
||||
)
|
||||
|
||||
###############
|
||||
# executables #
|
||||
###############
|
||||
add_executable(fairmq runFairMQ.cxx)
|
||||
target_link_libraries(fairmq
|
||||
PRIVATE
|
||||
FairMQ_SDK
|
||||
Boost::program_options
|
||||
)
|
||||
|
||||
install(
|
||||
TARGETS
|
||||
FairMQ_SDK
|
||||
fairmq
|
||||
|
||||
EXPORT ${PROJECT_EXPORT_SET}
|
||||
RUNTIME DESTINATION ${PROJECT_INSTALL_BINDIR}
|
||||
LIBRARY DESTINATION ${PROJECT_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${PROJECT_INSTALL_LIBDIR}
|
||||
)
|
||||
|
||||
# preserve relative path and prepend fairmq
|
||||
foreach(HEADER ${SDK_PUBLIC_HEADER_FILES})
|
||||
get_filename_component(_path ${HEADER} DIRECTORY)
|
||||
file(TO_CMAKE_PATH ${PROJECT_INSTALL_INCDIR}/${_path} _destination)
|
||||
install(FILES ${HEADER}
|
||||
DESTINATION ${_destination}
|
||||
)
|
||||
endforeach()
|
0
fairmq/sdk/Session.cxx
Normal file
0
fairmq/sdk/Session.cxx
Normal file
0
fairmq/sdk/Session.h
Normal file
0
fairmq/sdk/Session.h
Normal file
0
fairmq/sdk/Topology.cxx
Normal file
0
fairmq/sdk/Topology.cxx
Normal file
0
fairmq/sdk/Topology.h
Normal file
0
fairmq/sdk/Topology.h
Normal file
15
fairmq/sdk/runFairMQ.cxx
Normal file
15
fairmq/sdk/runFairMQ.cxx
Normal file
@@ -0,0 +1,15 @@
|
||||
/********************************************************************************
|
||||
* Copyright (C) 2019 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" *
|
||||
********************************************************************************/
|
||||
|
||||
#include <fairmq/sdk/Topology.h>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user