diff --git a/CMakeLists.txt b/CMakeLists.txt index 6550ab0461d51ce92e02aa8ef7d6c8ddca1da6b7..6447fa65034f6691f1e42dbf2f3ecd9f90fee342 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,17 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) +#------------- set the default installation directory to be the source directory + +IF(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 ) + MESSAGE(STATUS "CMAKE_INSTALL_PREFIX is ${CMAKE_INSTALL_PREFIX} - overwrite with -D CMAKE_INSTALL_PREFIX" ) +ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + + + #---Options------------------------------------------------------------------------- option(DD4HEP_USE_XERCESC "Enable 'Detector Builders' based on XercesC" OFF) option(DD4HEP_USE_PYROOT "Enable 'Detector Builders' based on PyROOT" ON) diff --git a/DDCore/CMakeLists.txt b/DDCore/CMakeLists.txt index d16d6adf9414c83e68607db2a6480850f5f5dfda..9bb72f0c7d7675bdf17e434b60588357a24d9b4d 100644 --- a/DDCore/CMakeLists.txt +++ b/DDCore/CMakeLists.txt @@ -4,6 +4,7 @@ project(DDCore) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${ROOT_INCLUDE_DIR}) + file(GLOB sources src/*.cpp src/Evaluator/*.cpp src/XML/*.cpp) file(GLOB plugin_sources src/plugins/*.cpp) @@ -28,3 +29,16 @@ target_link_libraries(DD4hepPlugins ${ROOT_LIBRARIES} ${XML_LIBRARIES} DD4hepCor dd4hep_generate_rootmap(DD4hepPlugins) + +#--- install target------------------------------------- + +install(DIRECTORY include/DD4hep include/XML + DESTINATION include + PATTERN ".svn" EXCLUDE ) + +install(TARGETS DD4hepCore DD4hepPlugins + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ) +# to do: add corresponding uninstall... +#------------------------------------------------------- \ No newline at end of file diff --git a/DDExamples/ILDExDet/CMakeLists.txt b/DDExamples/ILDExDet/CMakeLists.txt index 6c9c4a38e19f81256f4d094ef444c105a7db97ae..e0e2899b667fca50ae906017348fa594e780e7ac 100644 --- a/DDExamples/ILDExDet/CMakeLists.txt +++ b/DDExamples/ILDExDet/CMakeLists.txt @@ -11,6 +11,7 @@ if( NOT LCIO_FOUND ) # downlaod and build LCIO set( lcio_download_url SVN_REPOSITORY "svn://svn.freehep.org/lcio/trunk" ) set( lcio_cmake_args + "-DLCIO_GENERATE_HEADERS=OFF" "-DINSTALL_JAR=OFF" "-DBUILD_LCIO_EXAMPLES=OFF" "-DBUILD_ROOTDICT=OFF" @@ -19,25 +20,26 @@ if( NOT LCIO_FOUND ) # downlaod and build LCIO ExternalProject_Add( LCIO ${lcio_download_url} - CMAKE_ARGS ${lcio_cmake_args} - PREFIX ${DD4hep_SOURCE_DIR}/dependencies + CMAKE_ARGS ${lcio_cmake_args} install + PREFIX ${DD4hep_BINARY_DIR}/dependencies ) MESSAGE( STATUS "=============== Adding LCIO as external project ====================" ) MESSAGE( STATUS " to use an existing LCIO installation please specify -D LCIO_DIR=path_to_lcio !! " ) MESSAGE( STATUS "======================================================================" ) - set(LCIO_INCLUDE_DIRS "${DD4hep_SOURCE_DIR}/dependencies/src/LCIO/include" ) + set(LCIO_INCLUDE_DIRS "${DD4hep_BINARY_DIR}/dependencies/src/LCIO/include" ) set(LCIO_LIBRARIES - "${DD4hep_SOURCE_DIR}/dependencies/src/LCIO/lib/${CMAKE_SHARED_LIBRARY_PREFIX}sio${CMAKE_SHARED_LIBRARY_SUFFIX}" - "${DD4hep_SOURCE_DIR}/dependencies/src/LCIO/lib/${CMAKE_SHARED_LIBRARY_PREFIX}lcio${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${DD4hep_BINARY_DIR}/dependencies/src/LCIO/lib/${CMAKE_SHARED_LIBRARY_PREFIX}sio${CMAKE_SHARED_LIBRARY_SUFFIX}" + "${DD4hep_BINARY_DIR}/dependencies/src/LCIO/lib/${CMAKE_SHARED_LIBRARY_PREFIX}lcio${CMAKE_SHARED_LIBRARY_SUFFIX}" ) endif() #-------------- lcio ------------------- + include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/DDCore/include ${ROOT_INCLUDE_DIR}