diff --git a/CMakeLists.txt b/CMakeLists.txt index 832d122624730c12b4db0110ae945cb27efabf41..20be3c5545aa7d344ec04a54d0362ca38ca05543 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,11 +3,6 @@ set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) # include ( DD4hepBuild ) # -# project version (Major,minor,patch) -# Use the same version numbers in DDSegmentaion/CmakeLists.txt -# -dd4hep_set_version(DD4hep MAJOR 0 MINOR 14 PATCH 0) -dd4hep_configure_output( OUTPUT "${PROJECT_BINARY_DIR}" INSTALL "${CMAKE_INSTALL_PREFIX}" ) #---Options------------------------------------------------------------------------- option(DD4HEP_USE_XERCESC "Enable 'Detector Builders' based on XercesC" OFF) option(DD4HEP_USE_PYROOT "Enable 'Detector Builders' based on PyROOT" OFF) # does not work (compile error) @@ -16,19 +11,19 @@ option(DD4HEP_USE_GEAR "Build gear wrapper for backward compatibility" OFF) 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) - # #----------------------------------------------------------------------------------------------------- # -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "One of: None Debug Release RelWithDebInfo MinSizeRel." FORCE) -endif() +# project version (Major,minor,patch) +# Use the same version numbers in DDSegmentaion/CmakeLists.txt +# +dd4hep_set_version(DD4hep MAJOR 0 MINOR 14 PATCH 0) +dd4hep_configure_output( OUTPUT "${PROJECT_BINARY_DIR}" INSTALL "${CMAKE_INSTALL_PREFIX}" ) +# # # No Relex library present for ROOT 6 # - find_package ( ROOT REQUIRED COMPONENTS Geom GenVector ) -message ( STATUS "ROOT_VERSION_MAJOR: ${ROOT_VERSION_MAJOR}" ) if ( ${ROOT_VERSION_MAJOR} GREATER 5 ) set ( DD4HEP_USE_CXX11 ON ) message ( STATUS "ROOT_VERSION_MAJOR: ${ROOT_VERSION_MAJOR} --> Using GaudiPluginService..." ) diff --git a/cmake/DD4hepBuild.cmake b/cmake/DD4hepBuild.cmake index e3fb5f968d22dede27e8f297bde3787cd79df216..bede9e66a12ea2ce3afad25a8f7c23b0924fb087 100644 --- a/cmake/DD4hepBuild.cmake +++ b/cmake/DD4hepBuild.cmake @@ -189,6 +189,11 @@ endfunction( dd4hep_print_cmake_options ) #--------------------------------------------------------------------------------------------------- macro ( dd4hep_configure_output ) cmake_parse_arguments ( ARG "" "OUTPUT;INSTALL" "" ${ARGN} ) + + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "One of: None Debug Release RelWithDebInfo MinSizeRel." FORCE) + endif() + if ( NOT "${ARG_OUTPUT}" STREQUAL "" ) set ( LIBRARY_OUTPUT_PATH ${ARG_OUTPUT}/lib ) set ( EXECUTABLE_OUTPUT_PATH ${ARG_OUTPUT}/bin ) @@ -197,14 +202,17 @@ macro ( dd4hep_configure_output ) set ( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/bin ) endif() #------------- set the default installation directory to be the source directory + dd4hep_debug( "dd4hep_configure_output: CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT=${CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT}" ) if ( NOT "${ARG_INSTALL}" STREQUAL "" ) set ( CMAKE_INSTALL_PREFIX ${ARG_INSTALL} CACHE PATH "Set install prefix path." FORCE ) - elseif ( CMAKE_INSTALL_PREFIX ) - set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) - elseif ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + dd4hep_print( "dd4hep_configure_output: set CMAKE_INSTALL_PREFIX to ${ARG_INSTALL}" ) + elseif ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT ) set( CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR} CACHE PATH "install prefix path - overwrite with -D CMAKE_INSTALL_PREFIX = ..." FORCE ) - dd4hep_print ( "CMAKE_INSTALL_PREFIX is ${CMAKE_INSTALL_PREFIX} - overwrite with -D CMAKE_INSTALL_PREFIX" ) + dd4hep_print ( "dd4hep_configure_output: CMAKE_INSTALL_PREFIX is ${CMAKE_INSTALL_PREFIX} - overwrite with -D CMAKE_INSTALL_PREFIX" ) + elseif ( CMAKE_INSTALL_PREFIX ) + dd4hep_print( "dd4hep_configure_output: set CMAKE_INSTALL_PREFIX to ${CMAKE_INSTALL_PREFIX}" ) + set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ) endif() dd4hep_debug("|++> Installation goes to: ${CMAKE_INSTALL_PREFIX} <${ARG_INSTALL}>" ) endmacro ( dd4hep_configure_output ) diff --git a/doc/CompileAllOptionPermutations.sh b/doc/CompileAllOptionPermutations.sh index 5180791c0fa84d197eb3a3a807d8e9bdfc0960ed..a062afc18ca635c0c97afafb58a214fc87205421 100755 --- a/doc/CompileAllOptionPermutations.sh +++ b/doc/CompileAllOptionPermutations.sh @@ -80,6 +80,11 @@ build_all() unset ROOTSYS; DD4hep_DIR=${WORK_DIR}/DD4hep; + + OPTS="`make_opt ${DOGEANT4} -DDD4HEP_USE_GEANT4 -DGeant4_DIR=${INSTALL_G4}`\ + `make_opt ${DOLCIO} -DDD4HEP_USE_LCIO -DLCIO_DIR=${INSTALL_LCIO}` \ + `make_opt ${DOXERCESC} -DDD4HEP_USE_XERCESC -DXERCESC_ROOT_DIR=${INSTALL_XERCESC}` \ + -DROOTSYS=${ROOTSYS} "; CMD="cd ${WORK_DIR}/EX; cmake ${OPTS} -DDD4hep_DIR=${DD4hep_DIR} ${CHECKOUT}/examples;"; make_build; # diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 963aceab0bfa26e05fc71452a96330f549c0131d..90505bf1251af5d454e430bf44bffb5bdd6078a0 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -28,11 +28,11 @@ option(BUILD_TESTING "Enable and build tests" ON) find_package ( DD4hep REQUIRED ) include ( ${DD4hep_DIR}/cmake/DD4hep.cmake ) # -find_package ( ROOT REQUIRED COMPONENTS Geom GenVector MathCore ) +find_package ( ROOT REQUIRED COMPONENTS Geom GenVector ) # dd4hep_configure_output() dd4hep_package ( DD4hepExample MAJOR 0 MINOR 0 PATCH 1 - USES [ROOT REQUIRED COMPONENTS Geom GenVector MathCore] + USES [ROOT REQUIRED COMPONENTS Geom GenVector] [DD4hep REQUIRED COMPONENTS DDCore] ) #