From 523d87404064037e5a6db7939f4aad13d039c3ce Mon Sep 17 00:00:00 2001 From: Markus Frank <markus.frank@cern.ch> Date: Tue, 4 Aug 2015 13:11:12 +0000 Subject: [PATCH] Try to fix nightly builds --- CMakeLists.txt | 36 +++++---- DDCore/CMakeLists.txt | 1 + DDG4/CMakeLists.txt | 2 +- DDRec/src/gear/DDGear.cpp | 4 +- DDTest/src/test_bitfield64.cc | 2 +- UtilityApps/CMakeLists.txt | 2 +- cmake/DD4hep.cmake | 3 +- cmake/DD4hepBuild.cmake | 104 ++++++++++++------------- cmake/DD4hepConfig.cmake.in | 10 ++- cmake/FindROOT.cmake | 20 ++--- cmake/MakeRootMap.cmake | 4 +- examples/AlignDet/CMakeLists.txt | 2 +- examples/CMakeLists.txt | 6 +- examples/ClientTests/CMakeLists.txt | 2 +- examples/SimpleDetector/CMakeLists.txt | 2 +- 15 files changed, 109 insertions(+), 91 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 96c7b0fdf..eadf4febb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,14 +17,6 @@ option(DD4HEP_USE_LCIO "Build lcio extensions" OFF) option(BUILD_TESTING "Enable and build tests" ON) option(DD4HEP_USE_CXX11 "Build DD4hep using c++11" OFF) -#--------------------------------------------------------------------------------------------------- -#fg: moved to here from DD4hep.cmake to not force CMAKE_CXX_FLAGS upon dependent packages -if(DD4HEP_USE_CXX11) - SET( CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated") - ADD_DEFINITIONs(-DDD4HEP_USE_CXX11) -else() - SET( CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated") -endif() # #----------------------------------------------------------------------------------------------------- # @@ -34,20 +26,30 @@ endif() # # No Relex library present for ROOT 6 # -find_package(ROOT REQUIRED) -message(STATUS "ROOT_VERSION_MAJOR: ${ROOT_VERSION_MAJOR}" ) + +find_package ( ROOT REQUIRED COMPONENTS Geom GenVector ) +message ( STATUS "ROOT_VERSION_MAJOR: ${ROOT_VERSION_MAJOR}" ) if ( ${ROOT_VERSION_MAJOR} GREATER 5 ) - set(DD4HEP_NO_REFLEX ON) - add_subdirectory(GaudiPluginService) + set ( DD4HEP_USE_CXX11 ON ) + message ( STATUS "ROOT_VERSION_MAJOR: ${ROOT_VERSION_MAJOR} --> Using GaudiPluginService..." ) + add_subdirectory ( GaudiPluginService) +endif() +#--------------------------------------------------------------------------------------------------- +#fg: moved to here from DD4hep.cmake to not force CMAKE_CXX_FLAGS upon dependent packages +if ( DD4HEP_USE_CXX11 ) + set ( CMAKE_CXX_FLAGS "-std=c++11 -Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated") + add_definitions(-DDD4HEP_USE_CXX11) +else() + set( CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -Wshadow -Wformat-security -Wno-long-long -Wdeprecated") endif() #---DD4hep functions and macros ------------------------------------------------------- include(DD4hep) include(DD4hepMacros) -IF( DEFINED DD4HEP_WITH_GEANT4 OR DEFINED DD4HEP_WITH_GEAR ) +if( DEFINED DD4HEP_WITH_GEANT4 OR DEFINED DD4HEP_WITH_GEAR ) dd4hep_print_cmake_options( OPTIONAL "Obsolete options: only the following are allowed:" ERROR 1 ) -ENDIF() +endif() #----------------------------- ##checks for xercesc or not and sets up the include_directories @@ -101,10 +103,14 @@ add_subdirectory(DDG4) add_subdirectory(DDCond) add_subdirectory(DDAlign) add_subdirectory(DDEve) + +dd4hep_enable_tests( DDTest ) add_subdirectory(UtilityApps) +#set ( CMAKE_MODULE_PATH ${CMAKE_INSTALL_DIR}/cmake ${CMAKE_MODULE_PATH} ) +#add_subdirectory(DDExamples) + #---Testing------------------------------------------------------------------------- -dd4hep_enable_tests( DDTest ) #---Documentation------------------------------------------------------------------- OPTION( INSTALL_DOC "Set to OFF to skip build/install Documentation" OFF ) diff --git a/DDCore/CMakeLists.txt b/DDCore/CMakeLists.txt index c569cefe1..797b58d9d 100644 --- a/DDCore/CMakeLists.txt +++ b/DDCore/CMakeLists.txt @@ -30,6 +30,7 @@ dd4hep_add_dictionary( G__DD4hep include/DD4hep/SurfaceInstaller.h LINKDEF include/ROOT/LinkDef.h ) +set_source_files_properties ( G__DD4hep.cxx PROPERTIES GENERATED TRUE ) #---Generate DDCore Library------------------------------------------------------- dd4hep_add_package_library ( DDCore SOURCES src/*.cpp src/Evaluator/*.cpp src/XML/*.cpp diff --git a/DDG4/CMakeLists.txt b/DDG4/CMakeLists.txt index 49a6884dd..6a1e2f92f 100644 --- a/DDG4/CMakeLists.txt +++ b/DDG4/CMakeLists.txt @@ -14,7 +14,7 @@ dd4hep_package( DDG4 BOOST DDCore OPTIONAL CLHEP [XercesC QUIET] INCLUDE_DIRS include - INSTALL_INCLUDES include/DDG4) + INSTALL_INCLUDES include/DDG4 ) #---Add Library--------------------------------------------------------------------- dd4hep_add_package_library(DDG4 SOURCES src/*.cpp ) #--------------------------- Legacy libraries (for Frank) ------------------------- diff --git a/DDRec/src/gear/DDGear.cpp b/DDRec/src/gear/DDGear.cpp index 9a94d08fc..2b027564e 100644 --- a/DDRec/src/gear/DDGear.cpp +++ b/DDRec/src/gear/DDGear.cpp @@ -60,8 +60,8 @@ namespace DD4hep{ DetElement::Children grCh = subDet.children() ; for ( DetElement::Children::const_iterator jt=grCh.begin() ; jt != grCh.end() ; ++jt ){ - DetElement subDet = (*jt).second ; - dets.push_back( subDet ) ; + DetElement jdet = (*jt).second ; + dets.push_back( jdet ) ; // std::cout << " *** sub-subdetector : " << subDet.name() << std::endl ; } } diff --git a/DDTest/src/test_bitfield64.cc b/DDTest/src/test_bitfield64.cc index 70e47bb1f..5382f962c 100644 --- a/DDTest/src/test_bitfield64.cc +++ b/DDTest/src/test_bitfield64.cc @@ -32,7 +32,7 @@ int main(int /* argc */, char** /* argv */ ){ BitField64 bf3( bf.fieldDescription() ) ; - test( bf.getValue() , 0UL , " initialized with 0 " ); + test( bf.getValue() , long64(0x0) , " initialized with 0 " ); // std::cout << " bf value : " << bf << std::endl ; diff --git a/UtilityApps/CMakeLists.txt b/UtilityApps/CMakeLists.txt index d8e7654cf..461840bc4 100644 --- a/UtilityApps/CMakeLists.txt +++ b/UtilityApps/CMakeLists.txt @@ -26,7 +26,7 @@ dd4hep_add_executable( dumpdetector OPTIONAL [GEANT4 REQUIRED SOURCES src/dumpdetector.cpp]) #----------------------------------------------------------------------------------- dd4hep_add_executable(test_surfaces - USES DDRec + USES DDRec DDTest OPTIONAL [LCIO REQUIRED SOURCES src/test_surfaces.cpp]) #----------------------------------------------------------------------------------- dd4hep_add_dictionary( G__teve SOURCES src/EvNavHandler.h LINKDEF src/LinkDef.h ) diff --git a/cmake/DD4hep.cmake b/cmake/DD4hep.cmake index 557d47b15..803086169 100644 --- a/cmake/DD4hep.cmake +++ b/cmake/DD4hep.cmake @@ -105,7 +105,7 @@ function(dd4hep_generate_rootmap_notapple library) SET ( DD4hep_DIR ${CMAKE_SOURCE_DIR} ) endif() find_package(ROOT QUIET) -if(DD4HEP_NO_REFLEX) +if( ${ROOT_VERSION_MAJOR} GREATER 5 ) set(rootmapfile ${CMAKE_SHARED_MODULE_PREFIX}${library}.components) else() set(rootmapfile ${CMAKE_SHARED_MODULE_PREFIX}${library}.rootmap) @@ -116,6 +116,7 @@ endif() add_custom_command(OUTPUT ${rootmapfile} COMMAND ${CMAKE_COMMAND} -Dlibname=${libname} -Drootmapfile=${rootmapfile} -Dgenmap_install_dir=${LIBRARY_OUTPUT_PATH} + -DROOT_VERSION_MAJOR=${ROOT_VERSION_MAJOR} -P ${DD4hep_DIR}/cmake/MakeRootMap.cmake DEPENDS ${library}) diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake index bed154c93..e8d3f1845 100644 --- a/cmake/DD4hepBuild.cmake +++ b/cmake/DD4hepBuild.cmake @@ -33,7 +33,6 @@ endmacro(dd4hep_to_parent_scope) function ( dd4hep_debug msg ) if( NOT "${DD4HEP_DEBUG_CMAKE}" STREQUAL "" ) get_property(pkg DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME) - #message( STATUS "DEBUG **** ${msg}" ) string ( LENGTH "${msg}" lmsg ) if ( ${lmsg} GREATER 1024 ) string ( SUBSTRING "${msg}" 0 132 pmsg ) @@ -418,7 +417,7 @@ endfunction( dd4hep_install_dir ) # \version 1.0 # #--------------------------------------------------------------------------------------------------- -function( dd4hep_install_includes package ) +function ( dd4hep_install_includes package ) dd4hep_print ( "dd4hep_install_includes[${package}]: ${ARGN}" ) dd4hep_install_dir( ${ARGN} DESTINATION include ) endfunction() @@ -433,7 +432,7 @@ endfunction() # \version 1.0 # #--------------------------------------------------------------------------------------------------- -function(dd4hep_install_files) +function ( dd4hep_install_files ) cmake_parse_arguments ( ARG "" "DESTINATION" "FILES" ${ARGN} ) foreach ( f ${ARG_UNPARSED_ARGUMENTS} ${ARG_FILES} ) file ( GLOB sources ${f} ) @@ -450,7 +449,7 @@ endfunction( dd4hep_install_files ) # \version 1.0 # #--------------------------------------------------------------------------------------------------- -function( dd4hep_unpack_package_opts name opt ) +function ( dd4hep_unpack_package_opts name opt ) set ( nam_pkg ) set ( req_pkg ) set ( typ_pkg ) @@ -463,27 +462,27 @@ function( dd4hep_unpack_package_opts name opt ) string ( REGEX REPLACE "\\[" "" opt "${opt}" ) string ( REGEX REPLACE ";\\]" "" opt "${opt}" ) string ( REGEX REPLACE "\\]" "" opt "${opt}" ) - string ( REPLACE ";" ";" all_opt "${opt}") + string ( REPLACE ";" ";" all_opt "${opt}" ) dd4hep_debug ( "unpack ${name} : ${opt}" ) foreach( e ${all_opt} ) - if( "${nam_pkg}" STREQUAL "") + if( "${nam_pkg}" STREQUAL "" ) set ( nam_pkg ${e} ) unset ( act_pkg ) - elseif ( "${e}" STREQUAL "REQUIRED") + elseif ( "${e}" STREQUAL "REQUIRED" ) set ( req_pkg ${e} ) unset ( act_pkg ) - elseif ( "${e}" STREQUAL "INTERNAL") + elseif ( "${e}" STREQUAL "INTERNAL" ) set ( typ_pkg ${e} ) unset ( act_pkg ) - elseif ( "${e}" STREQUAL "EXTERNAL") + elseif ( "${e}" STREQUAL "EXTERNAL" ) set ( typ_pkg ${e} ) unset ( act_pkg ) - elseif ( "${com_pkg}" STREQUAL "" AND "${e}" STREQUAL "COMPONENTS") + elseif ( "${com_pkg}" STREQUAL "" AND "${e}" STREQUAL "COMPONENTS" ) set ( com_pkg ${e} ) set ( act_pkg ${e} ) - elseif ( "${src_pkg}" STREQUAL "" AND "${e}" STREQUAL "SOURCES") + elseif ( "${src_pkg}" STREQUAL "" AND "${e}" STREQUAL "SOURCES" ) set ( act_pkg ${e} ) - elseif ( "${def_pkg}" STREQUAL "" AND "${e}" STREQUAL "DEFINITIONS") + elseif ( "${def_pkg}" STREQUAL "" AND "${e}" STREQUAL "DEFINITIONS" ) set ( act_pkg ${e} ) elseif ( "${act_pkg}" STREQUAL "COMPONENTS" ) set ( comp_pkg ${comp_pkg} ${e} ) @@ -517,29 +516,29 @@ endfunction ( dd4hep_unpack_package_opts ) # \version 1.0 # #--------------------------------------------------------------------------------------------------- -function( dd4hep_get_dependency_opts local_incs local_libs local_uses pkg ) +function ( dd4hep_get_dependency_opts local_incs local_libs local_uses pkg ) # # If the variables <package>_INCLUDE_DIRS and <package>_LIBRARIES were not set # at the parent level, check if a corresponding property exists.... # string ( TOUPPER "${pkg}" pkg ) if ( "${${pkg}_INCLUDE_DIRS}" STREQUAL "" ) - get_property(${pkg}_INCLUDE_DIRS GLOBAL PROPERTY ${pkg}_INCLUDE_DIRS ) + get_property ( ${pkg}_INCLUDE_DIRS GLOBAL PROPERTY ${pkg}_INCLUDE_DIRS ) endif() if ( "${${pkg}_LIBRARIES}" STREQUAL "" ) get_property(${pkg}_LIBRARIES GLOBAL PROPERTY ${pkg}_LIBRARIES ) endif() - set(libs "${${pkg}_LIBRARIES}" ) - string(REGEX REPLACE " " " " libs "${libs}" ) - string(REGEX REPLACE " " ";" libs "${libs}" ) + set ( libs "${${pkg}_LIBRARIES}" ) + string ( REGEX REPLACE " " " " libs "${libs}" ) + string ( REGEX REPLACE " " ";" libs "${libs}" ) - set(incs "${${pkg}_INCLUDE_DIRS}" ) - string(REGEX REPLACE " " " " incs "${incs}" ) - string(REGEX REPLACE " " ";" incs "${incs}" ) + set ( incs "${${pkg}_INCLUDE_DIRS}" ) + string ( REGEX REPLACE " " " " incs "${incs}" ) + string ( REGEX REPLACE " " ";" incs "${incs}" ) - set(uses "${${pkg}_USES}" ) - string(REGEX REPLACE " " " " uses "${uses}" ) - string(REGEX REPLACE " " ";" uses "${uses}" ) + set ( uses "${${pkg}_USES}" ) + string ( REGEX REPLACE " " " " uses "${uses}" ) + string ( REGEX REPLACE " " ";" uses "${uses}" ) set ( ${local_incs} ${incs} PARENT_SCOPE ) set ( ${local_libs} ${libs} PARENT_SCOPE ) @@ -555,15 +554,15 @@ endfunction ( dd4hep_get_dependency_opts ) # \version 1.0 # #--------------------------------------------------------------------------------------------------- -function (dd4hep_handle_optional_sources tag optionals missing uses sources ) - get_property(pkg DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME) +function ( dd4hep_handle_optional_sources tag optionals missing uses sources ) + get_property ( pkg DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME) set (miss) set (src) set (use) - foreach(opt ${optionals} ) + foreach ( opt ${optionals} ) dd4hep_unpack_package_opts ( USE ${opt} ) - dd4hep_debug("unpack DD4HEP_USE_${USE_NAME}=${DD4HEP_USE_${USE_NAME}} <> ${use_pkg} -- ${opt}" ) - dd4hep_debug("|++> ${tag} find_package( ${USE_NAME} ARGS: ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} ${USE_TYPE} )") + dd4hep_debug ( "unpack DD4HEP_USE_${USE_NAME}=${DD4HEP_USE_${USE_NAME}} <> ${use_pkg} -- ${opt}" ) + dd4hep_debug ( "|++> ${tag} find_package( ${USE_NAME} ARGS: ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} ${USE_TYPE} )") dd4hep_find_package( ${USE_NAME} pkg_found ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} TYPE ${USE_TYPE} ) @@ -575,7 +574,7 @@ function (dd4hep_handle_optional_sources tag optionals missing uses sources ) set ( src ${src} ${opt_sources} ) set ( use ${use} ${opt} ) elseif ( "${USE_REQUIRED}" STREQUAL "REQUIRED" ) - set (miss ${miss} ${USE_NAME} ) + set ( miss ${miss} ${USE_NAME} ) else() dd4hep_print ( "| ${tag} ...optional: Skip sources ${USE_SOURCES} [requires ${USE_NAME}]" ) endif() @@ -596,11 +595,11 @@ endfunction(dd4hep_handle_optional_sources) #--------------------------------------------------------------------------------------------------- function( dd4hep_use_package print_prefix inName outName ) cmake_parse_arguments( ARG "" "NAME" "USES;OPTIONAL" ${ARGN} ) - get_property(pkg DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME) + get_property ( pkg DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY PACKAGE_NAME ) # - get_property(pkg_incs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_INCLUDE_DIRS ) - get_property(pkg_libs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_LINK_LIBRARIES ) - get_property(pkg_uses DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_USES ) + get_property ( pkg_incs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_INCLUDE_DIRS ) + get_property ( pkg_libs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_LINK_LIBRARIES ) + get_property ( pkg_uses DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ${inName}_USES ) # set ( missing ) set ( used_uses ${pkg_uses} ) @@ -634,14 +633,14 @@ function( dd4hep_use_package print_prefix inName outName ) # # # - foreach(use ${ARG_UNPARSED_ARGUMENTS} ${ARG_OPTIONAL} ) + foreach ( use ${ARG_UNPARSED_ARGUMENTS} ${ARG_OPTIONAL} ) if ( "${use}" MATCHES "\\[" ) dd4hep_unpack_package_opts ( USE ${use} ) - dd4hep_find_package( ${USE_NAME} pkg_found ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} ) + dd4hep_find_package ( ${USE_NAME} pkg_found ARGS ${USE_REQUIRED} ${USE_COMPONENT} ${USE_COMPONENTS} ) set ( use ${USE_NAME} ) set ( src "sources ${USE_SOURCES}" ) else() - dd4hep_find_package( ${use} pkg_found ) + dd4hep_find_package ( ${use} pkg_found ) set ( src ${use} ) endif() if ( NOT "${pkg_found}" STREQUAL "ON" ) @@ -738,8 +737,8 @@ function( dd4hep_package packageName ) set ( missing_uses ) foreach ( use ${ARG_USES} ) - dd4hep_unpack_package_opts( TEST ${use} ) - dd4hep_find_package( ${TEST_NAME} pkg_found ) + dd4hep_unpack_package_opts ( TEST ${use} ) + dd4hep_find_package ( ${TEST_NAME} pkg_found ) if ( "${pkg_found}" STREQUAL "OFF" ) set ( missing_uses ${missing_uses} ${TEST_NAME} ) endif() @@ -871,14 +870,10 @@ function( dd4hep_add_library binary building ) if ( NOT "${LOCAL_MISSING}" STREQUAL "" ) dd4hep_print ( "|++> ${tag} skipped. Missing dependency: ${missing}" ) endif() - set (pkg_incs ${LOCAL_INCLUDE_DIRS} ) - set (pkg_libs ${LOCAL_LINK_LIBRARIES} ) - # - dd4hep_make_unique_list( pkg_incs VALUES ${pkg_incs} ${ARG_INCLUDE_DIRS} ) - # - dd4hep_make_unique_list( pkg_libs VALUES ${pkg_libs} ${ARG_LINK_LIBRARIES} ) # - dd4hep_make_unique_list( pkg_defs VALUES ${COMPILE_DEFINITIONS} ${ARG_DEFINITIONS} ) + dd4hep_make_unique_list( pkg_incs VALUES ${LOCAL_INCLUDE_DIRS} ${ARG_INCLUDE_DIRS} ) + dd4hep_make_unique_list( pkg_libs VALUES ${LOCAL_LINK_LIBRARIES} ${ARG_LINK_LIBRARIES} ) + dd4hep_make_unique_list( pkg_defs VALUES ${LOCAL_DEFINITIONS} ${ARG_DEFINITIONS} ) # file ( GLOB sources ${ARG_SOURCES} ) list ( APPEND sources ${optional_sources} ) @@ -886,7 +881,7 @@ function( dd4hep_add_library binary building ) # # root-cint produces warnings of type 'unused-function' disable them on generated files foreach ( f in ${ARG_GENERATED} ) - set_source_files_properties( ${f} PROPERTIES COMPILE_FLAGS -Wno-unused-function ) + set_source_files_properties( ${f} PROPERTIES COMPILE_FLAGS -Wno-unused-function GENERATED TRUE ) endforeach() list ( APPEND sources ${ARG_GENERATED} ) endif() @@ -1048,25 +1043,29 @@ function ( dd4hep_add_executable binary ) get_property ( pkg_library GLOBAL PROPERTY ${PKG}_LIBRARIES ) # # Sources may also be supplied without argument tag: - # if( "${ARG_SOURCES}" STREQUAL "") set ( ARG_SOURCES ${ARG_UNPARSED_ARGUMENTS} ) endif() + # Prepare flags for cint generated sources: + foreach ( f in ${ARG_GENERATED} ) + set_source_files_properties( ${f} PROPERTIES COMPILE_FLAGS -Wno-unused-function GENERATED TRUE ) + endforeach() + # set ( sources ${GENERATED} ${ARG_SOURCES} ${optional_sources} ) # - if( NOT "${ARG_SOURCES}" STREQUAL "") - set (incs ${LOCAL_INCLUDE_DIRS} ) + if( NOT "${sources}" STREQUAL "") + set (incs ${LOCAL_INCLUDE_DIRS} ${ARG_INCLUDE_DIRS} ) set (libs ${pkg_library} ${LOCAL_LINK_LIBRARIES} ${ARG_LINK_LIBRARIES} ) + dd4hep_make_unique_list ( incs VALUES ${incs} ) dd4hep_make_unique_list ( libs VALUES ${libs} ) dd4hep_make_unique_list ( sources VALUES ${sources} ) # dd4hep_debug ( "${tag} Libs:${libs}" ) - include_directories( ${ARG_INCLUDE_DIRS} ${incs} ) + include_directories( ${incs} ) add_executable( ${binary} ${sources} ) target_link_libraries( ${binary} ${libs} ) # # Install the binary to the destination directory - # install(TARGETS ${binary} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) @@ -1136,9 +1135,10 @@ function( dd4hep_add_dictionary dictionary ) dd4hep_debug ( "${tag} Sources: '${CMAKE_CURRENT_SOURCE_DIR}'" ) # add_custom_command(OUTPUT ${dictionary}.cxx ${dictionary}.h - COMMAND ${ROOTCINT_EXECUTABLE} -f ${dictionary}.cxx + COMMAND ${ROOTCINT_EXECUTABLE} -cint -f ${dictionary}.cxx -c -p ${ARG_OPTIONS} ${comp_defs} ${inc_dirs} ${headers} ${linkdefs} DEPENDS ${headers} ${linkdefs} ) + set_source_files_properties( ${dictionary}.h ${dictionary}.cxx PROPERTIES GENERATED TRUE ) endif() endfunction() diff --git a/cmake/DD4hepConfig.cmake.in b/cmake/DD4hepConfig.cmake.in index a6048c6dc..8415429e3 100644 --- a/cmake/DD4hepConfig.cmake.in +++ b/cmake/DD4hepConfig.cmake.in @@ -19,7 +19,8 @@ set ( DD4hep_VERSION "@DD4hep_VERSION@" ) set ( DD4HEP_USE_BOOST "@DD4HEP_USE_BOOST@" ) set ( DD4HEP_USE_GEANT4 "@DD4HEP_USE_GEANT4@" ) set ( DD4HEP_USE_XERCESC "@DD4HEP_USE_XERCESC@" ) - +set ( DD4HEP_USE_CXX11 "@DD4HEP_USE_CXX11@" ) +set ( ROOT_VERSION_MAJOR "@ROOT_VERSION_MAJOR@" ) set ( Geant4_DIR "@Geant4_DIR@" ) set ( GEANT4_USE_CLHEP "@GEANT4_USE_CLHEP@" ) @@ -83,6 +84,13 @@ if( @DD4HEP_USE_XERCESC@ ) endif() INCLUDE( ${DD4hep_DIR}/cmake/DD4hep_XML_setup.cmake ) +# ----------------------------------------- +if( @DD4HEP_USE_CXX11@ ) + SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) + ADD_DEFINITIONs(-DDD4HEP_USE_CXX11) +else() +endif() + #----- APPLE ? ------- set( USE_DYLD @USE_DYLD@ ) diff --git a/cmake/FindROOT.cmake b/cmake/FindROOT.cmake index aa45db526..a799a1108 100644 --- a/cmake/FindROOT.cmake +++ b/cmake/FindROOT.cmake @@ -51,8 +51,8 @@ set(ROOT_EVE_LIBRARIES ${ROOT_EVE_LIBRARIES} ) # handle the QUIETLY and REQUIRED arguments and set ROOT_FOUND to TRUE if # all listed variables are TRUE -INCLUDE ( FindPackageHandleStandardArgs ) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(ROOT DEFAULT_MSG ROOTSYS ROOT_INCLUDE_DIR) +include ( FindPackageHandleStandardArgs ) +find_package_handle_standard_args(ROOT DEFAULT_MSG ROOTSYS ROOT_INCLUDE_DIR) mark_as_advanced(ROOT_FOUND ROOT_INCLUDE_DIR) include ( CMakeParseArguments) @@ -67,19 +67,19 @@ if(NOT ROOT_VERSION_STRING) set(ROOT_VERSION_PATCH ${CMAKE_MATCH_4} CACHE INTERNAL "Patch version of ROOT") endif() ##message(WARNING "ROOT ${ROOT_VERSION_MAJOR} ${ROOT_VERSION_MINOR} ${ROOT_VERSION_PATCH}") -IF ( ${ROOT_VERSION_MAJOR} LESS 6 ) +if ( ${ROOT_VERSION_MAJOR} LESS 6 ) set ( ROOT_LIBRARIES ${ROOT_LIBRARIES} -lReflex ) -ENDIF() -IF(ROOT_FIND_COMPONENTS) - MESSAGE( STATUS "ROOT: Looking for Components: ${ROOT_FIND_COMPONENTS}" ) - FOREACH(comp ${ROOT_FIND_COMPONENTS}) +endif() +if(ROOT_FIND_COMPONENTS) + message( STATUS "ROOT[${ROOT_VERSION_STRING}]: Looking for Components: ${ROOT_FIND_COMPONENTS}" ) + foreach(comp ${ROOT_FIND_COMPONENTS}) if ( "${comp}" STREQUAL "TEve" ) - set(ROOT_LIBRARIES ${ROOT_LIBRARIES} ${ROOT_EVE_LIBRARIES} ) + set(ROOT_LIBRARIES ${ROOT_LIBRARIES} ${ROOT_EVE_LIBRARIES} FTGL ) else() set(ROOT_LIBRARIES ${ROOT_LIBRARIES} -l${comp} ) endif() - ENDFOREACH() -ENDIF() + endforeach() +endif() #---------------------------------------------------------------------------- diff --git a/cmake/MakeRootMap.cmake b/cmake/MakeRootMap.cmake index 6af82a899..962518de7 100644 --- a/cmake/MakeRootMap.cmake +++ b/cmake/MakeRootMap.cmake @@ -1,5 +1,5 @@ - -if(DD4HEP_NO_REFLEX) +message(STATUS "ROOT_genmap_CMD Root version: ${ROOT_VERSION_MAJOR} ${ROOT_VERSION}" ) +if( ${ROOT_VERSION_MAJOR} GREATER 5 ) # # Running listcomponents from Gaudi # diff --git a/examples/AlignDet/CMakeLists.txt b/examples/AlignDet/CMakeLists.txt index f923993f1..b83229baa 100644 --- a/examples/AlignDet/CMakeLists.txt +++ b/examples/AlignDet/CMakeLists.txt @@ -15,7 +15,7 @@ include ( ${DD4hep_DIR}/cmake/DD4hep.cmake ) #----------------------------------------------------------------------------------- dd4hep_configure_output() dd4hep_package ( AlignDet MAJOR 0 MINOR 0 PATCH 1 - USES [ROOT REQUIRED COMPONENTS Geom MathCore] + USES [ROOT REQUIRED COMPONENTS Geom GenVector MathCore] [DD4hep REQUIRED COMPONENTS DDCore] OPTIONAL XERCESC INCLUDE_DIRS include diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 3f22d95fd..d9f562e1c 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -24,13 +24,15 @@ #========================================================================== cmake_minimum_required(VERSION 2.8.3 FATAL_ERROR) option(BUILD_TESTING "Enable and build tests" ON) +find_package ( ROOT REQUIRED COMPONENTS Geom GenVector MathCore ) find_package ( DD4hep REQUIRED ) # include ( ${DD4hep_DIR}/cmake/DD4hep.cmake ) # dd4hep_package ( DD4hepExample MAJOR 0 MINOR 0 PATCH 1 - USES [ROOT REQUIRED COMPONENTS Geom MathCore] + USES [ROOT REQUIRED COMPONENTS Geom GenVector MathCore] [DD4hep REQUIRED COMPONENTS DDCore] ) # -dd4hep_enable_tests ( AlignDet CLICSiD ClientTests SimpleDetector ) +dd4hep_enable_tests ( AlignDet CLICSiD ClientTests ) +###SimpleDetector ) diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt index dfe0a4d9a..40ab27f31 100644 --- a/examples/ClientTests/CMakeLists.txt +++ b/examples/ClientTests/CMakeLists.txt @@ -15,7 +15,7 @@ include ( ${DD4hep_DIR}/cmake/DD4hep.cmake ) #----------------------------------------------------------------------------------- dd4hep_configure_output() dd4hep_package (ClientTests MAJOR 0 MINOR 0 PATCH 1 - USES [ROOT REQUIRED COMPONENTS Geom MathCore] + USES [ROOT REQUIRED COMPONENTS Geom GenVector MathCore] [DD4hep REQUIRED COMPONENTS DDCore] OPTIONAL XERCESC INCLUDE_DIRS include ) diff --git a/examples/SimpleDetector/CMakeLists.txt b/examples/SimpleDetector/CMakeLists.txt index e255d8e80..ee1b434fe 100644 --- a/examples/SimpleDetector/CMakeLists.txt +++ b/examples/SimpleDetector/CMakeLists.txt @@ -42,7 +42,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${DD4hep_DIR}/cmake ) include( DD4hep ) find_package( ROOT REQUIRED ) -set( ROOT_COMPONENT_LIBRARIES Geom Reflex) +set( ROOT_COMPONENT_LIBRARIES Geom ) #------------------------------------------------------------- # add additional packages here -- GitLab