diff --git a/CMakeLists.txt b/CMakeLists.txt index 56c454c052fbccc8250f4ab3662724c5280413b8..13772c164f5498fd9a5b05cf578c266a63c39947 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -302,6 +302,13 @@ else(CBMROOT_MINIMAL) set(FairMQ_HAS_StateMachine FALSE) endif() endif() + + # For the time being don't use OpenMP on APPLE + # There are runtime problems with L1 (Redmine #2028) + if(NOT APPLE) + find_package(OpenMP) + endif() + endif(CBMROOT_MINIMAL) # set a variable which should be used in all CMakeLists.txt diff --git a/analysis/detectors/sts/CMakeLists.txt b/analysis/detectors/sts/CMakeLists.txt index 8b9e9c0139321302b03dab5f50ba323291864c9e..fb9724d2aca2f5d0b808b034b64edaa29a95a2d4 100644 --- a/analysis/detectors/sts/CMakeLists.txt +++ b/analysis/detectors/sts/CMakeLists.txt @@ -49,15 +49,6 @@ set(LINKDEF ${LIBRARY_NAME}LinkDef.h) # --------------------------------------------------------- -# ---- Enable OpenMP ------------------------------------- -find_package(OpenMP) -if (OPENMP_FOUND) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -endif() -# --------------------------------------------------------- - - # ----- Let cmake do the job --------------------------- include_directories( ${INCLUDE_DIRECTORIES}) include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt index 96810c95292b3280cfbe5b5d702d3e97662f955d..468e2f35e1b8cb744e4fc8c9261b6c2771fe572f 100644 --- a/reco/L1/CMakeLists.txt +++ b/reco/L1/CMakeLists.txt @@ -53,6 +53,19 @@ Set(SYSTEM_INCLUDE_DIRECTORIES ${KFParticle_INCLUDE_DIR} ) +# For the time being don't use OpenMP on APPLE +# There are runtime problems with L1 (Redmine #2028) +if(NOT APPLE) + if (OPENMP_FOUND) + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + set(SYSTEM_INCLUDE_DIRECTORIES + ${SYSTEM_INCLUDE_DIRECTORIES} + ${OpenMP_CXX_INCLUDE_DIRS} + ) + endif() +endif() + Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES}) set(LINK_DIRECTORIES @@ -62,6 +75,14 @@ ${ROOT_LIBRARY_DIR} ${FAIRROOT_LIBRARY_DIR} ${Boost_LIBRARY_DIRS} ) + +if (OPENMP_FOUND AND APPLE) + get_filename_component(OpenMP_CXX_LIBRARY_DIR ${OpenMP_CXX_LIBRARIES} DIRECTORY) + Set(LINK_DIRECTORIES + ${LINK_DIRECTORIES} + ${OpenMP_CXX_LIBRARY_DIR} + ) +endif() link_directories( ${LINK_DIRECTORIES}) @@ -140,11 +161,6 @@ OffLineInterface/CbmL1StsTrackFinder.h -find_package(OpenMP) -if (OPENMP_FOUND) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -endif() If(APPLE) ADD_DEFINITIONS(-Wall -Wsign-promo -Wctor-dtor-privacy -Wreorder -Wno-deprecated -Wno-parentheses -DDO_TPCCATRACKER_EFF_PERFORMANCE -DNonhomogeneousField -DCBM -DUSE_TIMERS) # -Weffc++ -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast : wait for other parts of cbmroot\root. @@ -162,17 +178,6 @@ If(APPLE) ADD_DEFINITIONS(-Wno-non-template-friend) EndIf() - if (OPENMP_FOUND) - Execute_Process(COMMAND clang++ -print-prog-name=clang++ - OUTPUT_VARIABLE _Exe) - Get_Filename_Component(link_directory ${_Exe} DIRECTORY) - Set(link_directory "${link_directory}/../lib") - Set(LINK_DIRECTORIES - ${LINK_DIRECTORIES} - ${link_directory} - ) - link_directories( ${LINK_DIRECTORIES}) - endif() Else() @@ -194,10 +199,16 @@ ENDIF (SSE_FOUND) set(LINKDEF L1LinkDef.h) Set(LIBRARY_NAME L1) -Set(DEPENDENCIES - #Rich +if (OPENMP_FOUND AND APPLE) + Set(DEPENDENCIES + KF CbmMuchBase CbmTrdBase CbmStsBase CbmRecoBase CbmBase CbmData CbmRecoSts Base boost_regex ${OpenMP_CXX_LIBRARIES} +# KF CbmMuchBase CbmTrdBase CbmStsBase CbmRecoBase CbmBase CbmData CbmRecoSts Base boost_regex omp + ) +else() + Set(DEPENDENCIES KF CbmMuchBase CbmTrdBase CbmStsBase CbmRecoBase CbmBase CbmData CbmRecoSts Base boost_regex -) + ) +endif() GENERATE_LIBRARY() @@ -205,3 +216,12 @@ Install(FILES CbmL1Counters.h L1Algo/L1EventEfficiencies.h DESTINATION include ) + +# Test to check if OpenMP is working on APPLE +#set(EXE_NAME test_openmp) +#set(SRCS test.cxx) +#set(DEPENDENCIES +# ${DEPENDENCIES} +# omp +#) +#GENERATE_EXECUTABLE() diff --git a/reco/detectors/sts/CMakeLists.txt b/reco/detectors/sts/CMakeLists.txt index 7a22abb28b75073b069265127258b19c06df85f0..0dc91bcde29a1f539748ff32dc48e80e7a2a7fee 100644 --- a/reco/detectors/sts/CMakeLists.txt +++ b/reco/detectors/sts/CMakeLists.txt @@ -78,11 +78,11 @@ set(LINKDEF ${LIBRARY_NAME}LinkDef.h) # ---- Enable OpenMP ------------------------------------- -find_package(OpenMP) -if (OPENMP_FOUND) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -endif() +# Comented since the OpenMP code is also commented in the moment +#if (OPENMP_FOUND) +# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") +# set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +#endif() # --------------------------------------------------------- diff --git a/reco/tracking/lx/Simple/CMakeLists.txt b/reco/tracking/lx/Simple/CMakeLists.txt index 04410405d99cfe996cbc5701051187a4ec2fb0b9..5b53647a122e6c114b2c38a1e360ec45369108e2 100644 --- a/reco/tracking/lx/Simple/CMakeLists.txt +++ b/reco/tracking/lx/Simple/CMakeLists.txt @@ -39,8 +39,6 @@ Set(SRCS LxTrackAna.cxx ) -find_package(OpenMP) - If (OPENMP_FOUND) Set(SRCS ${SRCS} LxParall.cxx) EndIf (OPENMP_FOUND) diff --git a/reco/tracking/lxTriplet/CMakeLists.txt b/reco/tracking/lxTriplet/CMakeLists.txt index 6ac0362d64c34286ffde61dce36904aa35d192b0..e0599c6c9e7cb3020b828c49354d3f0ee8b86ef5 100644 --- a/reco/tracking/lxTriplet/CMakeLists.txt +++ b/reco/tracking/lxTriplet/CMakeLists.txt @@ -39,8 +39,6 @@ Set(SRCS LxTrackAna.cxx ) -find_package(OpenMP) - Set(NO_DICT_SRCS LxCATriplets.cxx LxEff.cxx @@ -49,10 +47,6 @@ Set(NO_DICT_SRCS LxUtils.cxx ) -If (OPENMP_FOUND) - Set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx -fopenmp" ) -EndIf (OPENMP_FOUND) - set(LINKDEF LxLinkDef.h) Set(LIBRARY_NAME LxTrackTripplet) Set(DEPENDENCIES diff --git a/sim/detectors/sts/CMakeLists.txt b/sim/detectors/sts/CMakeLists.txt index df54d5e358ff954e017fb679e87e24421b49af16..d573e16743b3dcd6857aa60aa70c8e4266fcae28 100644 --- a/sim/detectors/sts/CMakeLists.txt +++ b/sim/detectors/sts/CMakeLists.txt @@ -78,15 +78,6 @@ set(LINKDEF ${LIBRARY_NAME}LinkDef.h) # --------------------------------------------------------- -# ---- Enable OpenMP ------------------------------------- -find_package(OpenMP) -if (OPENMP_FOUND) - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") -endif() -# --------------------------------------------------------- - - # ----- Create the library ------------------------------ include_directories( ${INCLUDE_DIRECTORIES}) include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})