diff --git a/CMakeLists.txt b/CMakeLists.txt index 40d3181bd3886af7cea7b1f875c08304f0e2e92a..13040a15040fc6bd97336034777d1c51ebc54c8f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,7 +39,8 @@ set(CMAKE_MODULE_PATH "${FAIRROOTPATH}/share/fairbase/cmake/modules_old" ${CMAKE set(CMAKE_MODULE_PATH "${FAIRROOTPATH}/share/fairbase/cmake/modules" ${CMAKE_MODULE_PATH}) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH}) -set(CMAKE_PREFIX_PATH "$ENV{SIMPATH}/share/cmake/ZeroMQ" ${CMAKE_PREFIX_PATH}) +#set(CMAKE_PREFIX_PATH "$ENV{SIMPATH}/share/cmake/ZeroMQ" ${CMAKE_PREFIX_PATH}) +set(CMAKE_PREFIX_PATH $ENV{SIMPATH} ${CMAKE_PREFIX_PATH}) # Check if the compiler support specific C++11 features # Up to now this is only a check since the code does not use @@ -87,7 +88,13 @@ EndIf() Execute_process(COMMAND $ENV{SIMPATH}/bin/fairsoft-config --cxxflags OUTPUT_VARIABLE _res_fairsoft_config OUTPUT_STRIP_TRAILING_WHITESPACE) String(FIND ${_res_fairsoft_config} "-std=c++11" POS_C++11) If(${POS_C++11} EQUAL -1) - Message(FATAL_ERROR "FairSoft wasn't compiled with c++11 support. Please recompile FairSoft with a compiler which supports c++11.") + String(FIND ${_res_fairsoft_config} "-std=c++14" POS_C++11) + If(${POS_C++11} EQUAL -1) + String(FIND ${_res_fairsoft_config} "-std=c++17" POS_C++11) + If(${POS_C++11} EQUAL -1) + Message(FATAL_ERROR "FairSoft wasn't compiled with support for c++11 or above. Please recompile FairSoft with a compiler which supports c++11, c++14 or c++17.") + EndIf() + EndIf() EndIf() Execute_process(COMMAND $ENV{SIMPATH}/bin/fairsoft-config --root-version OUTPUT_VARIABLE _res_root_version OUTPUT_STRIP_TRAILING_WHITESPACE) @@ -174,6 +181,9 @@ If(CMAKE_BUILD_TYPE MATCHES CONTINUOUS) Message("C_FLAGS: ${CMAKE_C_FLAGS_CONTINUOUS}") EndIf() Check_Compiler() +if(APPLE) + SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -single_module -undefined dynamic_lookup") +endif() set(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} "CONTINUOUS" "FullWarnings") #Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wshadow -Weffc++ -Wno-unused-variable -Wno-unused-parameter -Wno-sign-compare -Wno-ignored-qualifiers -Wno-overloaded-virtual") #Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weverything -Wno-padded -Wno-global-constructors") @@ -236,6 +246,18 @@ if(CBMROOT_MINIMAL) find_package(ROOT 6.00.00 REQUIRED) else(CBMROOT_MINIMAL) find_package(ROOT 6.00.00 REQUIRED) + if("${ROOT_VERSION_MAJOR}.${ROOT_VERSION_MINOR}" VERSION_GREATER 6.16) + Execute_Process(COMMAND ${ROOT_CONFIG_EXECUTABLE} --has-vmc + OUTPUT_VARIABLE ROOT_vmc_FOUND + ) + String(STRIP ${ROOT_vmc_FOUND} ROOT_vmc_FOUND) + If(NOT ROOT_vmc_FOUND) + find_package2(PUBLIC VMC REQUIRED) + message("VMC_INCLUDE_DIRS: ${VMC_INCLUDE_DIRS}") + set(VMCLIB VMCLibrary) + endif() + endif() + find_package(GEANT3 REQUIRED) find_package(GEANT4) find_package(GEANT4DATA) @@ -266,9 +288,23 @@ else(CBMROOT_MINIMAL) Message("-- Looking for GSL ...") find_package(GSL) + if(NOT GSL_FOUND) + if(APPLE) + set(GSL_DIR /usr/local) + else() + unset(GSL_DIR) + endif() + find_package(GSL) + endif() Find_Package(FairLogger) Find_Package(FairMQ) - + if(FAIRMQ_FOUND) + if(EXISTS ${FAIRMQ_LIBRARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}FairMQStateMachine${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(FairMQ_HAS_StateMachine TRUE) + else() + set(FairMQ_HAS_StateMachine FALSE) + endif() + endif() endif(CBMROOT_MINIMAL) # set a variable which should be used in all CMakeLists.txt @@ -284,6 +320,7 @@ Set(BASE_INCLUDE_DIRECTORIES ${BASE_INCLUDE_DIRECTORIES} ${SYSTEM_INCLUDE_DIRECTORIES} ${FAIRLOGGER_INCLUDE_DIR} +${VMC_INCLUDE_DIRS} ) # Set the library version in the main CMakeLists.txt @@ -321,9 +358,15 @@ If(BUILD_UNITTESTS) Message("Build the unit tests.") Set(GTEST_ROOT ${SIMPATH}) - Find_Package(GTest) - -EndIf(BUILD_UNITTESTS) + find_package2(PRIVATE GTest VERSION 1.7.0) + if(NOT GTEST_FOUND) + Message(STATUS "No gtest installation found, build our internal one.") + Include(external/InstallGtest.cmake) + set(CBM_LOCAL_GTEST TRUE) + else() + set(CBM_LOCAL_GTEST FALSE) + endif() +endif() ### Subdirectories to be compiled ##### diff --git a/MQ/CMakeLists.txt b/MQ/CMakeLists.txt index 0062e61c1bc1492d0b18143426a3d9b0e1486ff1..9e0a8c039dd2db110b1d97007c7f62d23683e40c 100644 --- a/MQ/CMakeLists.txt +++ b/MQ/CMakeLists.txt @@ -2,6 +2,13 @@ If(FairSoft_VERSION VERSION_LESS 18.6.0) Add_Definitions(-DHAVE_FAIRMQSTATEMACHINE) EndIf() + +if(FairMQ_HAS_StateMachine) + Set(FAIRMQ_LIBS FairMQStateMachine FairMQ) +else() + Set(FAIRMQ_LIBS FairMQ) +EndIf() + add_subdirectory(base) add_subdirectory(source) add_subdirectory(sink) diff --git a/MQ/hitbuilder/CMakeLists.txt b/MQ/hitbuilder/CMakeLists.txt index e20c7ecf367a96d418d98dd2f6d31f0559359bd1..6fcd79e8f98a0d767dfb48cd041b3c38b80e7392 100644 --- a/MQ/hitbuilder/CMakeLists.txt +++ b/MQ/hitbuilder/CMakeLists.txt @@ -18,6 +18,7 @@ Set(SYSTEM_INCLUDE_DIRECTORIES ${FAIRROOT_INCLUDE_DIR} ${FAIRMQ_INCLUDE_DIR} ${FAIRMQ_INCLUDE_DIR}/options + ${VMC_INCLUDE_DIRS} ${IPC_INCLUDE_DIRECTORY} ${CBMROOT_SOURCE_DIR}/external/cppzmq @@ -50,7 +51,7 @@ EndIf() set(FAIR_LIBS Base ParBase - FairMQ + ${FAIRMQ_LIBS} ) diff --git a/MQ/mcbm/CMakeLists.txt b/MQ/mcbm/CMakeLists.txt index ec451731599835268773defde97a5456ca4c4986..3d0afdd0c4a00ddd1fdc68d92274bddd1bddc08f 100644 --- a/MQ/mcbm/CMakeLists.txt +++ b/MQ/mcbm/CMakeLists.txt @@ -33,6 +33,7 @@ Set(SYSTEM_INCLUDE_DIRECTORIES ${FAIRROOT_INCLUDE_DIR} ${FAIRMQ_INCLUDE_DIR} ${FAIRMQ_INCLUDE_DIR}/options + ${VMC_INCLUDE_DIRS} ${IPC_INCLUDE_DIRECTORY} ${CBMROOT_SOURCE_DIR}/external/cppzmq @@ -63,7 +64,7 @@ If(UNIX AND NOT APPLE) EndIf() set(FAIR_LIBS - FairMQ + ${FAIRMQ_LIBS} ) If(FAIRLOGGER_FOUND) diff --git a/MQ/monitor/CMakeLists.txt b/MQ/monitor/CMakeLists.txt index a1d5fbd18171ad9938d99dae59b884ee4c7c1bee..d4b12b308c51c29c1d2950a8cf5ab805f480b962 100644 --- a/MQ/monitor/CMakeLists.txt +++ b/MQ/monitor/CMakeLists.txt @@ -53,7 +53,7 @@ If(UNIX AND NOT APPLE) EndIf() set(FAIR_LIBS - FairMQ + ${FAIRMQ_LIBS} ) If(FAIRLOGGER_FOUND) diff --git a/MQ/parmq/CMakeLists.txt b/MQ/parmq/CMakeLists.txt index 831a2404ede4cdb108b9ecb88155c3c5a092a20f..c1de1a42c6b3b20170ef89d7bb1f06bb52629b7b 100644 --- a/MQ/parmq/CMakeLists.txt +++ b/MQ/parmq/CMakeLists.txt @@ -39,7 +39,7 @@ EndIf() set(FAIR_LIBS Base ParBase - FairMQ + ${FAIRMQ_LIBS} Gen ) diff --git a/MQ/sink/CMakeLists.txt b/MQ/sink/CMakeLists.txt index d0e18c433e41b9ae5c04cd00e12c958ad9545ae1..0a4294d30f866cd484ba2934abe3444aca1abb4f 100644 --- a/MQ/sink/CMakeLists.txt +++ b/MQ/sink/CMakeLists.txt @@ -41,7 +41,7 @@ If(UNIX AND NOT APPLE) EndIf() set(FAIR_LIBS - FairMQ + ${FAIRMQ_LIBS} ) If(FAIRLOGGER_FOUND) diff --git a/MQ/source/CMakeLists.txt b/MQ/source/CMakeLists.txt index f095b40e90ca1d7133eb5ee678378c1cde6be06b..f421ef36894c8c83eed66245c59b3b16635c0b13 100644 --- a/MQ/source/CMakeLists.txt +++ b/MQ/source/CMakeLists.txt @@ -24,6 +24,7 @@ Set(SYSTEM_INCLUDE_DIRECTORIES ${FAIRROOT_INCLUDE_DIR} ${FAIRMQ_INCLUDE_DIR} ${FAIRMQ_INCLUDE_DIR}/options + ${VMC_INCLUDE_DIRS} ${IPC_INCLUDE_DIRECTORY} ${CBMROOT_SOURCE_DIR}/external/cppzmq @@ -56,7 +57,7 @@ If(UNIX AND NOT APPLE) EndIf() set(FAIR_LIBS - FairMQ + ${FAIRMQ_LIBS} ) If(FAIRLOGGER_FOUND) diff --git a/MQ/sts/CMakeLists.txt b/MQ/sts/CMakeLists.txt index 34f8d1d32b09b2ca413426b7abb8da3b25eb0e5b..4ef2cb396c7254f4d72b652fb2a119e2c672e029 100644 --- a/MQ/sts/CMakeLists.txt +++ b/MQ/sts/CMakeLists.txt @@ -43,7 +43,7 @@ If(UNIX AND NOT APPLE) EndIf() set(FAIR_LIBS - FairMQ + ${FAIRMQ_LIBS} ) If(FAIRLOGGER_FOUND) diff --git a/MQ/unpacker/CMakeLists.txt b/MQ/unpacker/CMakeLists.txt index a7ededc4ca46400cf78897b6ad2cde8a5c163bb5..4d2da7356a8ec4af597c65a109636ab040f837cc 100644 --- a/MQ/unpacker/CMakeLists.txt +++ b/MQ/unpacker/CMakeLists.txt @@ -51,7 +51,7 @@ EndIf() set(FAIR_LIBS Base ParBase - FairMQ + ${FAIRMQ_LIBS} ) If(FAIRLOGGER_FOUND) diff --git a/cmake/modules/CbmMacros.cmake b/cmake/modules/CbmMacros.cmake index 4f00a684f9baab6ff408648bccd60b892b02b746..bc3de5b8661dea909bf08ad3a217301caaf266c3 100644 --- a/cmake/modules/CbmMacros.cmake +++ b/cmake/modules/CbmMacros.cmake @@ -120,7 +120,7 @@ EndMacro(Gen_Exe_Script) function(download_project_if_needed) include(DownloadProject) - set(oneValueArgs PROJECT GIT_REPOSITORY GIT_TAG GIT_STASH SOURCE_DIR TEST_FILE) + set(oneValueArgs PROJECT GIT_REPOSITORY GIT_TAG GIT_STASH SOURCE_DIR TEST_FILE PATCH_COMMAND) cmake_parse_arguments(MY "" "${oneValueArgs}" "" ${ARGN} ) @@ -131,6 +131,7 @@ function(download_project_if_needed) GIT_REPOSITORY ${MY_GIT_REPOSITORY} GIT_TAG ${MY_GIT_TAG} SOURCE_DIR ${MY_SOURCE_DIR} + PATCH_COMMAND ${MY_PATCH_COMMAND} ) Else() Execute_process(COMMAND git rev-parse HEAD @@ -147,6 +148,7 @@ function(download_project_if_needed) GIT_REPOSITORY ${MY_GIT_REPOSITORY} GIT_TAG ${MY_GIT_TAG} SOURCE_DIR ${MY_SOURCE_DIR} + PATCH_COMMAND ${MY_PATCH_COMMAND} ) Set(ProjectUpdated TRUE PARENT_SCOPE) EndIf() diff --git a/core/data/test/CMakeLists.txt b/core/data/test/CMakeLists.txt index e6227412df60ef88569349c0558f29fce3e8542a..cfac7db73dc8d7124a7e0358f465fc99cd3e6f85 100644 --- a/core/data/test/CMakeLists.txt +++ b/core/data/test/CMakeLists.txt @@ -4,6 +4,9 @@ Macro(CreateGTestExeAndAddTest _testname _includeDirs _linkDirs _sources _depend Link_Directories(${_linkDirs}) Add_Executable(${_testname} ${_sources}) + if(CBM_LOCAL_GTEST) + Add_Dependencies(${_testname} GTEST) + endif() Target_Link_Libraries(${_testname} ${_dependencies}) Gen_Exe_Script(${_testname}) string(REPLACE ${PROJECT_SOURCE_DIR} @@ -27,6 +30,7 @@ Set(INCLUDE_DIRECTORIES ${CBMDATA_DIR}/rich ${CBMDATA_DIR}/much ${BASE_INCLUDE_DIRECTORIES} + ${GTEST_INCLUDE_DIR} ) MESSAGE("FAIRROOT_LIBRARY_DIR: ${FAIRROOT_LIBRARY_DIR}") diff --git a/core/data/test/psd/CMakeLists.txt b/core/data/test/psd/CMakeLists.txt index 5875aa26a46279f2812d9a36bb20b4b9aaa83f1e..db9e7061bd97ab4568c962a38f39df2b3149b7fb 100644 --- a/core/data/test/psd/CMakeLists.txt +++ b/core/data/test/psd/CMakeLists.txt @@ -3,6 +3,7 @@ Set(INCLUDE_DIRECTORIES ${CBMDATA_DIR}/psd ${CBMDATA_DIR}/test ${BASE_INCLUDE_DIRECTORIES} + ${GTEST_INCLUDE_DIR} ) MESSAGE("FAIRROOT_LIBRARY_DIR: ${FAIRROOT_LIBRARY_DIR}") diff --git a/core/data/test/trd/CMakeLists.txt b/core/data/test/trd/CMakeLists.txt index 27c4b726be7c6ce0afcc7159447a8221c1954af9..f036e8aabd9742dc4c88344fc4b66597f21caf59 100644 --- a/core/data/test/trd/CMakeLists.txt +++ b/core/data/test/trd/CMakeLists.txt @@ -3,6 +3,7 @@ Set(INCLUDE_DIRECTORIES ${CBMDATA_DIR}/trd ${CBMDATA_DIR}/test ${BASE_INCLUDE_DIRECTORIES} + ${GTEST_INCLUDE_DIR} ) MESSAGE("FAIRROOT_LIBRARY_DIR: ${FAIRROOT_LIBRARY_DIR}") diff --git a/external/.gitignore b/external/.gitignore index b33bb370cdaa1529c38754b3563e7ccc13a7841e..46ed7f281609d69afe247127d2ba51a44562b7f2 100644 --- a/external/.gitignore +++ b/external/.gitignore @@ -10,4 +10,5 @@ ipc/ipc ipc_legacy/ipc jsroot spadic/spadic +googletest diff --git a/external/InstallGtest.cmake b/external/InstallGtest.cmake new file mode 100644 index 0000000000000000000000000000000000000000..e5482efb5c852c5413d71db3fff3be053361279a --- /dev/null +++ b/external/InstallGtest.cmake @@ -0,0 +1,59 @@ +# Build GTEST as external project +set(_LIBDIR_DEFAULT "lib") + +set(Gtest_DESTDIR "${CMAKE_BINARY_DIR}/GTEST-prefix") +set(Gtest_ROOTDIR "${Gtest_DESTDIR}/${CMAKE_BINARY_DIR}") +set(Gtest_LIBNAME "${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}") +set(Gtest_LIBRARY "${Gtest_ROOTDIR}/${_LIBDIR_DEFAULT}/${Gtest_LIBNAME}") + +set(Gtest_VERSION 870a6b5563e065b4b9fc3b633c4015ee17d2cbaa) # Hash +set(Gtest_SRC_URL "https://github.com/google/googletest") + +download_project_if_needed(PROJECT gtest_source + GIT_REPOSITORY ${Gtest_SRC_URL} + GIT_TAG ${Gtest_VERSION} + SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/googletest + TEST_FILE CMakeLists.txt + ) +If(ProjectUpdated) + File(REMOVE_RECURSE ${Gtest_DESTDIR}) + Message("GTEST source directory was changed so build directory was deleted") +EndIf() + +ExternalProject_Add(GTEST + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/googletest + BUILD_IN_SOURCE 0 + BUILD_BYPRODUCTS ${Gtest_LIBRARY} + LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 + CMAKE_ARGS -G ${CMAKE_GENERATOR} + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} + -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR} + INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install +) + +add_library(Gtest STATIC IMPORTED) +set_target_properties(Gtest PROPERTIES IMPORTED_LOCATION ${Gtest_LIBRARY}) +add_dependencies(Gtest GTEST) + +set(GTEST_LIBRARIES gtest) +set(GTEST_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include") +set(GTEST_LIBRARY ${CMAKE_BINARY_DIR}/${_LIBDIR_DEFAULT}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}) +set(GTEST_MAIN_LIBRARY ${CMAKE_BINARY_DIR}/${_LIBDIR_DEFAULT}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}) +set(GTEST_BOTH_LIBRARIES "${GTEST_LIBRARY};${GTEST_MAIN_LIBRARY}") + +Include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GTEST + FOUND_VAR GTEST_FOUND + REQUIRED_VARS GTEST_INCLUDE_DIR GTEST_LIBRARY GTEST_MAIN_LIBRARY GTEST_BOTH_LIBRARIES +) + +install(DIRECTORY ${Gtest_ROOTDIR}/ DESTINATION ".") + +#if(GTEST_FOUND) +# set(GTEST_INCLUDE_DIRS ${Gtest_INCLUDE_DIR}) +# set(GTEST_LIB_DIR ${Gtest_ROOTDIR}/${_LIBDIR_DEFAULT}) +#endif() diff --git a/external/InstallNicaFemto.cmake b/external/InstallNicaFemto.cmake index d80028c235cf7dc3a78046839c28247351b283fb..0b96c1f9fa5925e580292c14366640ea2fa9cc12 100644 --- a/external/InstallNicaFemto.cmake +++ b/external/InstallNicaFemto.cmake @@ -13,6 +13,7 @@ download_project_if_needed(PROJECT NicaFemto_source GIT_REPOSITORY ${NICAFEMTO_SRC_URL} GIT_TAG ${NICAFEMTO_VERSION} SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/NicaFemto + PATCH_COMMAND "patch -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/NicaFemto.patch" ) If(ProjectUpdated) diff --git a/external/NicaFemto.patch b/external/NicaFemto.patch new file mode 100644 index 0000000000000000000000000000000000000000..9ba0a9d75ff2f050ce65b55d70154efaf5fc22cc --- /dev/null +++ b/external/NicaFemto.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 60ab7e6..b70ab36 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,7 +52,11 @@ if(NOT DEFINED NICAFEMTO_SUBDIR_BUILD) + If(NOT _HAS_CXX11_FLAG) + Message(FATAL_ERROR "The used C++ compiler (${CMAKE_CXX_COMPILER}) does not support C++11. NicaFemto can only be compiled with compilers supporting C++11. Please install such an compiler.") + EndIf() +- ++ ++ if(APPLE) ++ SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -single_module -undefined dynamic_lookup") ++ endif() ++ + Execute_process(COMMAND $ENV{SIMPATH}/bin/fairsoft-config --cxxflags OUTPUT_VARIABLE _res_fairsoft_config OUTPUT_STRIP_TRAILING_WHITESPACE) + String(FIND ${_res_fairsoft_config} "-std=c++11" POS_C++11) + If(${POS_C++11} EQUAL -1) +@@ -131,7 +135,7 @@ if(NOT DEFINED NICAFEMTO_SUBDIR_BUILD) + if(APPLE) + set(GSL_DIR /usr/local) + else() +- unset(GSL_DIR) ++ set(GSL_DIR /usr) + endif() + find_package(GSL REQUIRED) + endif() diff --git a/tutorials/TaskToAlgo/CMakeLists.txt b/tutorials/TaskToAlgo/CMakeLists.txt index 17db4e8e77164a99187c6513d3f809688f2d305e..a10bb2af7fba9dbfbdf156345b9126dca3cdc1a4 100644 --- a/tutorials/TaskToAlgo/CMakeLists.txt +++ b/tutorials/TaskToAlgo/CMakeLists.txt @@ -82,9 +82,11 @@ If(UNIX AND NOT APPLE) List(APPEND BOOST_LIBS pthread) EndIf() -set(FAIR_LIBS - FairMQ -) +if(FairMQ_HAS_StateMachine) + Set(FAIR_LIBS FairMQStateMachine FairMQ) +else() + Set(FAIR_LIBS FairMQ) +EndIf() If(FAIRLOGGER_FOUND) set(FAIR_LIBS