From 4f5f304aaad369a2347aca84eff037aa29185a13 Mon Sep 17 00:00:00 2001 From: Florian Uhlig <f.uhlig@gsi.de> Date: Tue, 10 Nov 2020 09:40:15 +0100 Subject: [PATCH] Adapt build system to new FairSoft and FairRoot versions Add support for C++17 Check for c++ version c++11 or above (11, 14 or 17). With this change it becomes possible to compile CbmRoot with C++17. Add missing library. The FairMQ state machine is now in an extra library which has to be added for linking when using FairSoft nov20. Test if the library exist and create the list of dependencies accordingly. Add missing include directory. VMC is not any longer included in ROOT but a standealone package, so the include directory has to be added such that the header files are found. Add gtest as an optional external package. With the latest version of FairSoft googletest was removed due to a recommendation of the gtest developers. Since gtest is no longer part of FairSoft we have to provide an own version which is compiled as external project. Add proper dependency to external gtest project This dependency is needed to compile the test only if the gtest library is already available. Fix compilation error with FairRoot v18.4.2 on macosx In FairRoot v18.4.2 some linker settings were removed from the CMake setup. This breaks the compilation of CbmRoot. Put back the needed seetings for the linker on macosx in our build system. Fix NicaFemto installation --- CMakeLists.txt | 55 ++++++++++++++++++++++++--- MQ/CMakeLists.txt | 7 ++++ MQ/hitbuilder/CMakeLists.txt | 3 +- MQ/mcbm/CMakeLists.txt | 3 +- MQ/monitor/CMakeLists.txt | 2 +- MQ/parmq/CMakeLists.txt | 2 +- MQ/sink/CMakeLists.txt | 2 +- MQ/source/CMakeLists.txt | 3 +- MQ/sts/CMakeLists.txt | 2 +- MQ/unpacker/CMakeLists.txt | 2 +- cmake/modules/CbmMacros.cmake | 4 +- core/data/test/CMakeLists.txt | 4 ++ core/data/test/psd/CMakeLists.txt | 1 + core/data/test/trd/CMakeLists.txt | 1 + external/.gitignore | 1 + external/InstallGtest.cmake | 59 +++++++++++++++++++++++++++++ external/InstallNicaFemto.cmake | 1 + external/NicaFemto.patch | 26 +++++++++++++ tutorials/TaskToAlgo/CMakeLists.txt | 8 ++-- 19 files changed, 168 insertions(+), 18 deletions(-) create mode 100644 external/InstallGtest.cmake create mode 100644 external/NicaFemto.patch diff --git a/CMakeLists.txt b/CMakeLists.txt index 40d3181bd3..13040a1504 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 0062e61c1b..9e0a8c039d 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 e20c7ecf36..6fcd79e8f9 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 ec45173159..3d0afdd0c4 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 a1d5fbd181..d4b12b308c 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 831a2404ed..c1de1a42c6 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 d0e18c433e..0a4294d30f 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 f095b40e90..f421ef3689 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 34f8d1d32b..4ef2cb396c 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 a7ededc4ca..4d2da7356a 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 4f00a684f9..bc3de5b866 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 e6227412df..cfac7db73d 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 5875aa26a4..db9e7061bd 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 27c4b726be..f036e8aabd 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 b33bb370cd..46ed7f2816 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 0000000000..e5482efb5c --- /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 d80028c235..0b96c1f9fa 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 0000000000..9ba0a9d75f --- /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 17db4e8e77..a10bb2af7f 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 -- GitLab