From fa7fcbf00eab9ce9b7bddcf19ffb859df708fef6 Mon Sep 17 00:00:00 2001 From: Markus Frank <markus.frank@cern.ch> Date: Sun, 12 Jul 2015 01:10:33 +0000 Subject: [PATCH] Bug fix for compatibility mode --- CMakeLists.txt | 5 ++++ DDCore/CMakeLists.txt | 4 +-- GaudiPluginService/CMakeLists.txt | 14 +++++----- cmake/FindROOT.cmake | 7 +++++ cmake/MakeRootMap.cmake | 44 ++++++++++++++++++++++--------- 5 files changed, 52 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 34835e6db..227fd39d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -101,11 +101,16 @@ ENDIF() #---Packages------------------------------------------------------------------------ + + ##------ don't allow to use a pre-built DDSegmentation ---------------------------- #find_package( DDSegmentation QUIET ) #if( NOT DDSegmentation_FOUND ) # add_subdirectory(DDSegmentation) #endif() +if(DD4HEP_NO_REFLEX) + add_subdirectory(GaudiPluginService) +endif() add_subdirectory(DDSegmentation) add_subdirectory(DDCore) diff --git a/DDCore/CMakeLists.txt b/DDCore/CMakeLists.txt index daafd4d5f..6a7b39e9f 100644 --- a/DDCore/CMakeLists.txt +++ b/DDCore/CMakeLists.txt @@ -16,7 +16,7 @@ project(DDCore) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${DDSegmentation_INCLUDE_DIRS} - ${DDPluginManager_INCLUDE_DIRS}) + ${GaudiPluginService_INCLUDE_DIRS}) file(GLOB sources src/*.cpp src/Evaluator/*.cpp src/XML/*.cpp) file(GLOB plugin_sources src/plugins/*.cpp) @@ -49,7 +49,7 @@ endif() add_library(DDCore SHARED ${sources} ${parser_sources} ) -target_link_libraries(DDCore ${ROOT_LIBRARIES} ${XML_LIBRARIES} ${DDPluginManager_LIBRARIES} ${DDSegmentation_LIBRARIES} Geom ${libraries}) +target_link_libraries(DDCore ${ROOT_LIBRARIES} ${XML_LIBRARIES} ${GaudiPluginService_LIBRARIES} ${DDSegmentation_LIBRARIES} Geom ${libraries}) ## generates rootmap and installs the library add_dd4hep_plugin(DDCorePlugins SHARED ${plugin_sources}) diff --git a/GaudiPluginService/CMakeLists.txt b/GaudiPluginService/CMakeLists.txt index d7746f745..44a6c6cb9 100644 --- a/GaudiPluginService/CMakeLists.txt +++ b/GaudiPluginService/CMakeLists.txt @@ -1,15 +1,15 @@ cmake_minimum_required(VERSION 2.8.3 FATAL_ERROR) -project(DDPluginManager) +project(GaudiPluginService) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -add_library(DDPluginManager SHARED src/PluginService.cpp src/capi_pluginservice.cpp) -target_link_libraries(DDPluginManager ${CMAKE_DL_LIBS}) -SET_TARGET_PROPERTIES(DDPluginManager PROPERTIES VERSION ${DD4hep_VERSION} SOVERSION ${DD4hep_SOVERSION}) +add_library(GaudiPluginService SHARED src/PluginService.cpp src/capi_pluginservice.cpp) +target_link_libraries(GaudiPluginService ${CMAKE_DL_LIBS}) +SET_TARGET_PROPERTIES(GaudiPluginService PROPERTIES VERSION ${DD4hep_VERSION} SOVERSION ${DD4hep_SOVERSION}) if( NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) - SET ( DDPluginManager_LIBRARIES DDPluginManager PARENT_SCOPE ) - SET ( DDPluginManager_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE ) + SET ( GaudiPluginService_LIBRARIES GaudiPluginService PARENT_SCOPE ) + SET ( GaudiPluginService_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE ) endif() add_executable(listcomponents src/listcomponents.cpp src/PluginService.cpp) @@ -20,6 +20,6 @@ install(DIRECTORY Gaudi DESTINATION include PATTERN ".svn" EXCLUDE ) -install(TARGETS listcomponents DDPluginManager +install(TARGETS listcomponents GaudiPluginService RUNTIME DESTINATION bin LIBRARY DESTINATION lib ) diff --git a/cmake/FindROOT.cmake b/cmake/FindROOT.cmake index a57e8eb6e..c42cf3364 100644 --- a/cmake/FindROOT.cmake +++ b/cmake/FindROOT.cmake @@ -47,6 +47,13 @@ if(ROOT_CONFIG_EXECUTABLE) endif() set(ROOT_LIBRARIES ${ROOT_LIBRARIES} -lGenVector) +# +# No Relex library present for ROOT 6 +# +if(NOT DD4HEP_NO_REFLEX) + set(ROOT_LIBRARIES ${ROOT_LIBRARIES} -lReflex) +endif() + set(ROOT_EVE_LIBRARIES ${ROOT_EVE_LIBRARIES} ) # handle the QUIETLY and REQUIRED arguments and set ROOT_FOUND to TRUE if diff --git a/cmake/MakeRootMap.cmake b/cmake/MakeRootMap.cmake index 40565d549..6af82a899 100644 --- a/cmake/MakeRootMap.cmake +++ b/cmake/MakeRootMap.cmake @@ -1,19 +1,37 @@ +if(DD4HEP_NO_REFLEX) + # + # Running listcomponents from Gaudi + # + FIND_PROGRAM( ROOT_genmap_CMD listcomponents PATHS ${genmap_install_dir}/../bin ) + MESSAGE( STATUS " *** MakeROOTMap[components].cmake run command : ${ROOT_genmap_CMD} -o ${rootmapfile} ${libname} + WORKING_DIRECTORY ${genmap_install_dir} " + ) + EXECUTE_PROCESS( COMMAND + ${ROOT_genmap_CMD} -o ${rootmapfile} ${libname} + WORKING_DIRECTORY ${genmap_install_dir} + ) -FIND_PROGRAM( ROOT_genmap_CMD genmap PATHS $ENV{ROOTSYS}/bin $ENV{PATH} ) +else() + # + # Running genmap from ROOT 5 + # + FIND_PROGRAM( ROOT_genmap_CMD genmap PATHS $ENV{ROOTSYS}/bin $ENV{PATH} ) -MESSAGE( STATUS " *** MakeROOTMap.cmake run command : ${ROOT_genmap_CMD} -debug -i ${libname} -o ${rootmapfile} + MESSAGE( STATUS " *** MakeROOTMap.cmake run command : ${ROOT_genmap_CMD} -debug -i ${libname} -o ${rootmapfile} WORKING_DIRECTORY ${genmap_install_dir} " -) + ) -if(APPLE) - #MESSAGE( STATUS " set DYLD_LIBRARY_PATH to ./:$ENV{DYLD_LIBRARY_PATH} " ) - SET ( ENV{DYLD_LIBRARY_PATH} ./:$ENV{DYLD_LIBRARY_PATH}:$ENV{ROOTSYS}/lib:${genmap_install_dir} ) -else() - SET ( ENV{LD_LIBRARY_PATH} ./:$ENV{LD_LIBRARY_PATH}:$ENV{ROOTSYS}/lib:${genmap_install_dir} ) -endif() + if(APPLE) + #MESSAGE( STATUS " set DYLD_LIBRARY_PATH to ./:$ENV{DYLD_LIBRARY_PATH} " ) + SET ( ENV{DYLD_LIBRARY_PATH} ./:$ENV{DYLD_LIBRARY_PATH}:$ENV{ROOTSYS}/lib:${genmap_install_dir} ) + else() + SET ( ENV{LD_LIBRARY_PATH} ./:$ENV{LD_LIBRARY_PATH}:$ENV{ROOTSYS}/lib:${genmap_install_dir} ) + endif() + + EXECUTE_PROCESS( COMMAND + ${ROOT_genmap_CMD} -debug -i ${libname} -o ${rootmapfile} + WORKING_DIRECTORY ${genmap_install_dir} + ) -EXECUTE_PROCESS( COMMAND - ${ROOT_genmap_CMD} -debug -i ${libname} -o ${rootmapfile} - WORKING_DIRECTORY ${genmap_install_dir} -) +endif() -- GitLab