diff --git a/examples/AlignDet/CMakeLists.txt b/examples/AlignDet/CMakeLists.txt index 59ba50119f79604368761adbb8ef11f04740f3f9..9518ff0a79fb16b806162be9fcafa01f7e269b76 100644 --- a/examples/AlignDet/CMakeLists.txt +++ b/examples/AlignDet/CMakeLists.txt @@ -1,26 +1,90 @@ cmake_minimum_required(VERSION 2.8.3 FATAL_ERROR) + #--------------------------- set( PackageName AlignDet ) #--------------------------- project(${PackageName}) -find_package( DD4hep ) +# project version +SET( ${PackageName}_VERSION_MAJOR 0 ) +SET( ${PackageName}_VERSION_MINOR 0 ) +SET( ${PackageName}_VERSION_PATCH 1 ) + +SET( ${PackageName}_VERSION "${${PackageName}_VERSION_MAJOR}.${${PackageName}_VERSION_MINOR}" ) +SET( ${PackageName}_SOVERSION "${${PackageName}_VERSION_MAJOR}.${${PackageName}_VERSION_MINOR}" ) + +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) + +#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +find_package( DD4hep ) -include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include - ${CMAKE_SOURCE_DIR}/DDCore/include - ${CMAKE_SOURCE_DIR}/DDSegmentation/include - ${ROOT_INCLUDE_DIR}) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${DD4hep_ROOT}/cmake ) +include( DD4hep ) + +#find_package( ROOT REQUIRED ) +find_package( ROOT REQUIRED COMPONENTS Geom Reflex) +set( ROOT_COMPONENT_LIBRARIES Geom Reflex) + +#------------------------------------------------------------- +# add additional packages here +#------------------------------------------------------------- include(DD4hep_XML_setup) -file(GLOB sources src/*.cpp) -add_library(AlignDet SHARED ${sources}) -target_link_libraries(AlignDet DD4hepCore ${ROOT_LIBRARIES} Rint Reflex) -dd4hep_generate_rootmap(AlignDet) +#---Testing------------------------------------------------------------------------- +if(BUILD_TESTING) + include(CTest) + enable_testing() +endif(BUILD_TESTING) -#--- install target------------------------------------- +configure_file( ${DD4hep_ROOT}/cmake/run_test_package.sh run_test_${PackageName}.sh @ONLY) +INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/run_test_${PackageName}.sh + DESTINATION bin ) + +#------------------------------------------------------------- +include_directories( ${CMAKE_SOURCE_DIR}/include + include + ${DD4hep_INCLUDE_DIRS} + ${ROOT_INCLUDE_DIR} + ) + +file(GLOB sources src/*.cpp ) +include(DD4hep_XML_setup) + +add_library(${PackageName} SHARED ${sources}) +target_link_libraries(${PackageName} ${DD4hep_LIBRARIES} ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES} ) + +#---Rootmap generation-------------------------------------------------------------- +if(APPLE) + dd4hep_generate_rootmap_apple(${PackageName} ) +else() + dd4hep_generate_rootmap(${PackageName} ) +endif() + + +#---- configure run environment --------------- +configure_file( ${DD4hep_ROOT}/cmake/thisdd4hep_package.sh.in this${PackageName}.sh @ONLY) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/this${PackageName}.sh + DESTINATION bin + ) + + +#--- install target------------------------------------- install(TARGETS ${PackageName} RUNTIME DESTINATION bin LIBRARY DESTINATION lib @@ -29,5 +93,38 @@ install(DIRECTORY compact DESTINATION examples/${PackageName} PATTERN ".svn" EXCLUDE ) +#install(DIRECTORY scripts +# DESTINATION examples/${PackageName} +# PATTERN ".svn" EXCLUDE ) + # to do: add corresponding uninstall... #------------------------------------------------------- + +#################################### +# +# Add Tests foir AlignDet here +# +#################################### + +##SET( test_name "test_converter_clic_lcdd" ) +##ADD_TEST( t_${test_name} "${CMAKE_INSTALL_PREFIX}/bin/run_test_${PackageName}.sh" +## geoConverter -compact2lcdd -input ${CMAKE_CURRENT_SOURCE_DIR}/compact/compact.xml -output ILDExDet.lcdd ) +###----- here we simply require that at least 100 volumes have been converted +##SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES PASS_REGULAR_EXPRESSION " Handled [1-9][0-9][0-9]+ volumes" ) +## +##SET( test_name "test_converter_clic_gdml" ) +##ADD_TEST( t_${test_name} "${CMAKE_INSTALL_PREFIX}/bin/run_test_${PackageName}.sh" +## geoConverter -compact2gdml -input ${CMAKE_CURRENT_SOURCE_DIR}/compact/compact.xml -output ILDExDet.gdml ) +###----- here we simply require that at least 100 volumes have been converted +##SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES PASS_REGULAR_EXPRESSION " Handled [1-9][0-9][0-9]+ volumes" ) +## +##SET( test_name "test_converter_clic_vis" ) +##ADD_TEST( t_${test_name} "${CMAKE_INSTALL_PREFIX}/bin/run_test_${PackageName}.sh" +## geoConverter -compact2vis -input ${CMAKE_CURRENT_SOURCE_DIR}/compact/compact.xml -output ILDExDet.vis ) +###----- here we simply require that at least 100 volumes have been converted +##SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES PASS_REGULAR_EXPRESSION " Handled [1-9][0-9][0-9]+ volumes" ) + + + +# no explicit failed condition +#SET_TESTS_PROPERTIES( t_${test_name} PROPERTIES FAIL_REGULAR_EXPRESSION "TEST_FAILED" ) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 2ed7e7b5502593ef5e3558a4149e12b7a6edb6fc..d3f8240fe1f326bcbb866707d55bd37502ec9ce8 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -25,6 +25,8 @@ endif(BUILD_TESTING) # (un)comment as needed # +add_subdirectory(AlignDet) + add_subdirectory(CLICSiD) add_subdirectory(ClientTests) diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt index f6fdb8dc0be72fd7253ea6ff83020a9aaa6bfb04..46f37fcf1fa867c8736633d3e009f50f5a7231cf 100644 --- a/examples/ClientTests/CMakeLists.txt +++ b/examples/ClientTests/CMakeLists.txt @@ -32,6 +32,20 @@ include( DD4hep ) find_package( ROOT REQUIRED ) set( ROOT_COMPONENT_LIBRARIES Geom Reflex) +#------------------------------------------------------------- +# add additional packages here +#------------------------------------------------------------- + +#---Testing------------------------------------------------------------------------- +if(BUILD_TESTING) + include(CTest) + enable_testing() +endif(BUILD_TESTING) + +configure_file( ${DD4hep_ROOT}/cmake/run_test_package.sh run_test_${PackageName}.sh @ONLY) +INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/run_test_${PackageName}.sh + DESTINATION bin ) + #------------------------------------------------------------- include_directories( ${CMAKE_SOURCE_DIR}/include include @@ -44,7 +58,7 @@ include(DD4hep_XML_setup) add_library(${PackageName} SHARED ${sources}) -target_link_libraries(${PackageName} ${DD4hep_LIBRARIES} ${ROOT_LIBRARIES} ) +target_link_libraries(${PackageName} ${DD4hep_LIBRARIES} ${ROOT_LIBRARIES} ${ROOT_COMPONENT_LIBRARIES} ) #---Rootmap generation-------------------------------------------------------------- if(APPLE) @@ -52,6 +66,7 @@ if(APPLE) else() dd4hep_generate_rootmap(${PackageName} ) endif() + #---- configure run environment --------------- configure_file( ${DD4hep_ROOT}/cmake/thisdd4hep_package.sh.in this${PackageName}.sh @ONLY)