diff --git a/CMakeLists.txt b/CMakeLists.txt index 26ef3af4c004a56cbf93bb75e1f2e86ba60e1588..9fd9c5545ec8aa96a8026cbb8af4950799171607 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,18 +19,9 @@ SET( SLIC_VERSION_PATCH 0 ) INCLUDE( ExternalProject ) -IF ( NOT GLOBAL_INSTALL_DIR ) - SET( GLOBAL_INSTALL_DIR "$ENV{HOME}/slic" ) - MESSAGE( STATUS "Global install dir set to: ${GLOBAL_INSTALL_DIR}" ) -ENDIF() - -#IF( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT ) -SET( CMAKE_INSTALL_PREFIX ${GLOBAL_INSTALL_DIR}/slic ) -#ENDIF() - MESSAGE( STATUS "SLIC install dir set to: ${CMAKE_INSTALL_PREFIX}" ) -# option for logg messages +# option for log messages OPTION( ENABLE_SLIC_LOG "Enable slic logging system" ON ) IF ( ENABLE_SLIC_LOG STREQUAL "ON" ) ADD_DEFINITIONS( -DSLIC_LOG ) @@ -51,22 +42,26 @@ SET( DEPENDENCIES XERCES Geant4 LCIO HEPPDT GDML LCDD ) ADD_CUSTOM_TARGET( extdeps ) FOREACH( dependency ${DEPENDENCIES} ) - IF ( ${dependency}_DIR ) - FIND_PACKAGE( ${dependency} QUIET ) - IF ( ${dependency}_FOUND ) - MESSAGE( STATUS "${dependency} was found at: ${${dependency}_DIR}" ) - IF( NOT TARGET ${dependency} ) - ADD_CUSTOM_TARGET( ${dependency} ) - ENDIF() - ELSE() - MESSAGE( FATAL_ERROR "You specified ${dependency}_DIR but this does not appear to point to a valid install of ${dependency}." ) + MESSAGE( "processing dependency ${dependency} ..." ) + #IF ( ${dependency}_DIR ) + FIND_PACKAGE( ${dependency} QUIET ) + IF ( ${dependency}_FOUND ) + MESSAGE( STATUS "${dependency} was found at: ${${dependency}_DIR}" ) + IF( NOT TARGET ${dependency} ) + ADD_CUSTOM_TARGET( ${dependency} ) ENDIF() + #ELSE() + # MESSAGE( FATAL_ERROR "You specified ${dependency}_DIR but this does not appear to point to a valid install of ${dependency}." ) + #ENDIF() ELSE() MESSAGE( STATUS "${dependency} was not found and will be installed as an external project." ) INCLUDE( Install${dependency} ) + MESSAGE( "${dependency}_VERSION='${${dependency}_VERSION}'" ) SET( DEPENDENCIES_NOTFOUND "YES" FORCE ) ENDIF() ADD_DEPENDENCIES( extdeps ${dependency} ) + MESSAGE( " ${dependency}_DIR=${${dependency}_DIR}" ) + MESSAGE( " ${dependency}_VERSION=${${dependency}_VERSION}" ) ENDFOREACH() IF ( DEPENDENCIES_NOTFOUND ) @@ -79,7 +74,7 @@ ELSE() # set executable target ADD_EXECUTABLE( slic ${library_sources} slic.cc ) - # make slic depend on its external deps (is this necessary???) + # make slic depend on its external deps being installed first ADD_DEPENDENCIES( slic extdeps ) # local includes @@ -104,11 +99,11 @@ ELSE() LINK_DIRECTORIES( ${GDML_LIBRARY_DIR} ${LCDD_LIBRARY_DIR} ${LCIO_LIBRARY_DIRS} ) # install - INSTALL( TARGETS slic slic DESTINATION bin ) + INSTALL( TARGETS slic slic DESTINATION slic/bin ) # install env setup script CONFIGURE_FILE( ${PROJECT_SOURCE_DIR}/scripts/slic-env.sh.in ${CMAKE_CURRENT_BINARY_DIR}/slic-env.sh ) - INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/slic-env.sh DESTINATION bin + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/slic-env.sh DESTINATION slic/bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) ENDIF() diff --git a/cmake/InstallGDML.cmake b/cmake/InstallGDML.cmake index 945295b4f0e953eb2a4b19c12cf4ecaa5f66bf18..81ca5363092859a75277b9aace015fba73aeb2ca 100644 --- a/cmake/InstallGDML.cmake +++ b/cmake/InstallGDML.cmake @@ -9,15 +9,15 @@ EXTERNALPROJECT_ADD( DEPENDS XERCES Geant4 GIT_REPOSITORY "https://github.com/slaclab/gdml" - GIT_TAG "${GDML_VERSION}" + GIT_TAG ${GDML_VERSION} UPDATE_COMMAND "" PATCH_COMMAND "" - SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/gdml" - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/gdml -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR} + SOURCE_DIR "${CMAKE_BINARY_DIR}/gdml" + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/gdml -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR} BUILD_COMMAND make -j4 ) -SET( GDML_DIR ${GLOBAL_INSTALL_DIR}/gdml CACHE PATH "GDML install dir" FORCE ) +SET( GDML_DIR ${CMAKE_INSTALL_PREFIX}/gdml CACHE PATH "GDML install dir" FORCE ) diff --git a/cmake/InstallGeant4.cmake b/cmake/InstallGeant4.cmake index 67a7e33f7a1f3f4fdc5fba1de3d5141218d85714..6512e12fe93967c832a68eb53e92e8fa27b36539 100644 --- a/cmake/InstallGeant4.cmake +++ b/cmake/InstallGeant4.cmake @@ -10,16 +10,16 @@ EXTERNALPROJECT_ADD( Geant4 GIT_REPOSITORY "https://github.com/Geant4/geant4" - GIT_TAG "${GEANT4_VERSION}" + GIT_TAG ${GEANT4_VERSION} UPDATE_COMMAND "" PATCH_COMMAND "" - SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/geant4" - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/geant4 -DGEANT4_INSTALL_DATA=ON + SOURCE_DIR "${CMAKE_BINARY_DIR}/geant4" + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/geant4 -DGEANT4_INSTALL_DATA=ON BUILD_COMMAND make -j4 ) STRING( REPLACE "v" "" Geant4_VERSION_NUMBER ${Geant4_VERSION} ) -SET( Geant4_DIR ${GLOBAL_INSTALL_DIR}/geant4/lib64/Geant4-${Geant4_VERSION_NUMBER} CACHE PATH "Geant4 install dir" FORCE ) +SET( Geant4_DIR ${CMAKE_INSTALL_PREFIX}/geant4/lib64/Geant4-${Geant4_VERSION_NUMBER} CACHE PATH "Geant4 install dir" FORCE ) diff --git a/cmake/InstallHEPPDT.cmake b/cmake/InstallHEPPDT.cmake index 620c872d39a93a4ebbe3f499cd02a7a359a7c104..6532351522d8797c59acb0d45732b5665ca02ed0 100644 --- a/cmake/InstallHEPPDT.cmake +++ b/cmake/InstallHEPPDT.cmake @@ -3,12 +3,12 @@ EXTERNALPROJECT_ADD( URL "http://lcgapp.cern.ch/project/simu/HepPDT/download/HepPDT-3.04.01.tar.gz" - SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/heppdt" + SOURCE_DIR "${CMAKE_BINARY_DIR}/heppdt" UPDATE_COMMAND "" PATCH_COMMAND "" - CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/extdep/heppdt/configure" --prefix=${GLOBAL_INSTALL_DIR}/heppdt + CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/heppdt/configure" --prefix=${CMAKE_INSTALL_PREFIX}/heppdt ) -SET( HEPPDT_DIR ${GLOBAL_INSTALL_DIR}/heppdt CACHE PATH "HEPPDT install dir" FORCE ) +SET( HEPPDT_DIR ${CMAKE_INSTALL_PREFIX}/heppdt CACHE PATH "HEPPDT install dir" FORCE ) diff --git a/cmake/InstallLCDD.cmake b/cmake/InstallLCDD.cmake index 31afbb123b0abd248cb03427cbfbd3d24d09368b..14ffee6bd9d01aab24a74446cd38f1a489bf39ee 100644 --- a/cmake/InstallLCDD.cmake +++ b/cmake/InstallLCDD.cmake @@ -8,15 +8,15 @@ EXTERNALPROJECT_ADD( DEPENDS XERCES Geant4 GDML GIT_REPOSITORY "https://github.com/slaclab/lcdd" - GIT_TAG "${LCDD_VERSION}" + GIT_TAG ${LCDD_VERSION} UPDATE_COMMAND "" PATCH_COMMAND "" - SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/lcdd" - CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/lcdd -DGDML_DIR=${GDML_DIR} -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR} + SOURCE_DIR "${CMAKE_BINARY_DIR}/lcdd" + CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/lcdd -DGDML_DIR=${GDML_DIR} -DXERCES_DIR=${XERCES_DIR} -DGeant4_DIR=${Geant4_DIR} BUILD_COMMAND make -j4 ) -SET( LCDD_DIR ${GLOBAL_INSTALL_DIR}/lcdd CACHE PATH "LCDD install dir" FORCE ) +SET( LCDD_DIR ${CMAKE_INSTALL_PREFIX}/lcdd CACHE PATH "LCDD install dir" FORCE ) diff --git a/cmake/InstallLCIO.cmake b/cmake/InstallLCIO.cmake index 161f5d09506238a45a825e69d8d87c96f9f32d49..2fd7720103f5dea6289c953a94bc0a1606dc14f7 100644 --- a/cmake/InstallLCIO.cmake +++ b/cmake/InstallLCIO.cmake @@ -6,15 +6,15 @@ EXTERNALPROJECT_ADD( LCIO GIT_REPOSITORY "https://github.com/iLCSoft/LCIO" - GIT_TAG "${LCIO_VERSION}" + GIT_TAG ${LCIO_VERSION} UPDATE_COMMAND "" PATCH_COMMAND "" - SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/lcio" - CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${GLOBAL_INSTALL_DIR}/lcio + SOURCE_DIR "${CMAKE_BINARY_DIR}/lcio" + CMAKE_ARGS -DINSTALL_DOC=OFF -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/lcio BUILD_COMMAND make -j4 ) -SET( LCIO_DIR ${GLOBAL_INSTALL_DIR}/lcio CACHE PATH "LCIO install dir" FORCE ) +SET( LCIO_DIR ${CMAKE_INSTALL_PREFIX}/lcio CACHE PATH "LCIO install dir" FORCE ) diff --git a/cmake/InstallXERCES.cmake b/cmake/InstallXERCES.cmake index 4546cd67072e012b33709089548b3e9b599ace7d..58853962b095eeba5654c248875b750a56f9cf03 100644 --- a/cmake/InstallXERCES.cmake +++ b/cmake/InstallXERCES.cmake @@ -3,12 +3,12 @@ EXTERNALPROJECT_ADD( XERCES URL "http://apache.cs.utah.edu//xerces/c/3/sources/xerces-c-3.1.4.tar.gz" - SOURCE_DIR "${CMAKE_BINARY_DIR}/extdep/xerces" + SOURCE_DIR "${CMAKE_BINARY_DIR}/xerces" UPDATE_COMMAND "" PATCH_COMMAND "" - CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/extdep/xerces/configure" --enable-shared --disable-static --prefix=${GLOBAL_INSTALL_DIR}/xerces + CONFIGURE_COMMAND "${CMAKE_BINARY_DIR}/xerces/configure" --enable-shared --disable-static --prefix=${CMAKE_INSTALL_PREFIX}/xerces ) -SET( XERCES_DIR ${GLOBAL_INSTALL_DIR}/xerces CACHE PATH "XERCES install dir" FORCE ) +SET( XERCES_DIR ${CMAKE_INSTALL_PREFIX}/xerces CACHE PATH "XERCES install dir" FORCE )