diff --git a/CMakeLists.txt b/CMakeLists.txt index e0557ca1f295636d68a36fedb5ec70437159852a..5e9f761c357996f68b96af760877432283bc90c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,8 +21,8 @@ cmake_minimum_required(VERSION 3.8 FATAL_ERROR) # - Any policy requirements should go here # - Make overrides for default flags, so they appear in interfaces -set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX - ${CMAKE_SOURCE_DIR}/cmake/Modules/Geant4MakeRules_cxx.cmake) +# set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX +# ${CMAKE_SOURCE_DIR}/cmake/Modules/Geant4MakeRules_cxx.cmake) #----------------------------------------------------------------------- # - Project definition and basic configuration @@ -43,6 +43,25 @@ set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules ${CMAKE_MODULE_PATH}) +# FIXME: code copied from cmake/Modules/Geant4MakeRules_cxx.cmake waiting for proper refactoring +if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang|Intel") + # available models, default first + set(_TLSMODELS initial-exec local-exec global-dynamic local-dynamic) + foreach(_s ${_TLSMODELS}) + set(${_s}_TLSMODEL_FLAGS "-ftls-model=${_s}") + endforeach() + + list(APPEND _TLSMODELS auto) + set(auto_TLSMODEL_FLAGS "") + + set(TLSMODEL_IS_AVAILABLE ${_TLSMODELS}) + + # FIXME: this is not the right way of enabling threads + # (see https://cmake.org/cmake/help/latest/module/FindThreads.html) + set(GEANT4_MULTITHREADED_CXX_FLAGS "-pthread") +endif() + + #----------------------------------------------------------------------- # - Include CMake category main module # Factored into category for convenience in tagging