diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..b9ec2ea806f61bb832e9b50a695ff57ed10b2cc3 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,34 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5) + +set(Geant4_version 4.9.5.p02) + +if(DEFINED ENV{G4_NATIVE_VERSION}) + # Override the version of Geant4 from the variable + set(Geant4_version $ENV{G4_NATIVE_VERSION}) + if(NOT Geant4_version MATCHES "^4\\.") + # G4_NATIVE_VERSION might not contain the initial '4.' that we need + # see https://its.cern.ch/jira/browse/LHCBGAUSS-43 + set(Geant4_version 4.${Geant4_version}) + endif() +endif() + +find_package(GaudiProject) +gaudi_project(Geant4 v95r2p6) + +file(MAKE_DIRECTORY ${CMAKE_INSTALL_PREFIX}) +execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ../include ${CMAKE_INSTALL_PREFIX}/include) + +# FIXME: hack for compatibility with CMT build +file(WRITE ${CMAKE_BINARY_DIR}/dummy.cpp "") +link_directories(${CMAKE_INSTALL_PREFIX}/lib) +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-as-needed") + +macro(back_comp_lib name) + add_library(${name} SHARED ${CMAKE_BINARY_DIR}/dummy.cpp) + add_dependencies(${name} Geant4) + target_link_libraries(${name} ${ARGN}) + install(TARGETS ${name} DESTINATION lib) +endmacro() + +back_comp_lib(G4processeshad G4processes) +back_comp_lib(G4externals G4zlib G4gl2ps) diff --git a/cmt/project.cmt b/cmt/project.cmt index 9c5b385b88cdff4ebcce829aa29b329921433b65..b55b8901602290d906e39e2a77bf39b901c46116 100755 --- a/cmt/project.cmt +++ b/cmt/project.cmt @@ -1,6 +1,6 @@ project GEANT4 -use GAUDI GAUDI_v23r9 +use GAUDI GAUDI_v23r10 build_strategy with_installarea setup_strategy root diff --git a/toolchain.cmake b/toolchain.cmake new file mode 100644 index 0000000000000000000000000000000000000000..8601ebbdf7b9d3f9409bff63d4eea82809e40606 --- /dev/null +++ b/toolchain.cmake @@ -0,0 +1,11 @@ +# Special wrapper to load the declared version of the heptools toolchain. +set(heptools_version 65a) + +find_file(use_heptools_module UseHEPTools.cmake + HINTS ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +# this check is needed because the toolchain seem to be called a second time +# without the proper cache +if(use_heptools_module) + include(${use_heptools_module}) + use_heptools(${heptools_version}) +endif()