Skip to content
Snippets Groups Projects
Commit 11fc7401 authored by Marilena Bandieramonte's avatar Marilena Bandieramonte
Browse files

Update the CMakeLists files for GeoMaterial2G4 - hopefully solve the gitlab ci problem

parent 618eb96d
No related branches found
No related tags found
No related merge requests found
Pipeline #1307866 failed
...@@ -7,7 +7,6 @@ stages: ...@@ -7,7 +7,6 @@ stages:
before_script: before_script:
- yum -y install cmake glibc-devel which - yum -y install cmake glibc-devel which
- yum install motif, motif-devel
- set +e && source CI/setup_lcg.sh; set -e - set +e && source CI/setup_lcg.sh; set -e
variables: variables:
......
cmake_minimum_required( VERSION 3.1 )
# Set up the project. # Set up the project.
cmake_minimum_required( VERSION 3.1 )
project( "GeoModelG4" VERSION 1.0.0 LANGUAGES CXX ) project( "GeoModelG4" VERSION 1.0.0 LANGUAGES CXX )
# Add sub-packages. # Set default build options.
set( CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build mode to use" )
set( CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard used for the build" )
set( CMAKE_CXX_EXTENSIONS FALSE CACHE BOOL "(Dis)allow using GNU extensions" )
# Make the module directory visible to CMake.
list( APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake )
# Use the GNU install directory names.
include( GNUInstallDirs )
# Set up the build of the three libraries of the project.
add_subdirectory(GeoMaterial2G4) add_subdirectory(GeoMaterial2G4)
add_subdirectory(GeoSpecialShapes) add_subdirectory(GeoSpecialShapes)
add_subdirectory(GeoModel2G4) add_subdirectory(GeoModel2G4)
install(EXPORT GeoMaterial2G4-export FILE GeoModelG4-GeoMaterial2G4.cmake DESTINATION lib/cmake/GeoModelG4) #install(EXPORT GeoMaterial2G4-export FILE GeoModelG4-GeoMaterial2G4.cmake DESTINATION lib/cmake/GeoModelG4)
install(EXPORT GeoSpecialShapes-export FILE GeoModelG4-GeoSpecialShapes.cmake DESTINATION lib/cmake/GeoModelG4) #install(EXPORT GeoSpecialShapes-export FILE GeoModelG4-GeoSpecialShapes.cmake DESTINATION lib/cmake/GeoModelG4)
install(EXPORT GeoModel2G4-export FILE GeoModelG4-GeoModel2G4.cmake DESTINATION lib/cmake/GeoModelG4) #install(EXPORT GeoModel2G4-export FILE GeoModelG4-GeoModel2G4.cmake DESTINATION lib/cmake/GeoModelG4)
install(FILES cmake/GeoModelG4Config.cmake DESTINATION lib/cmake/GeoModelG4) #install(FILES cmake/GeoModelG4Config.cmake DESTINATION lib/cmake/GeoModelG4)
# Create and install the version description of the project.
include( WriteBasicConfigVersionFile )
write_basic_config_version_file(
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}ConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion )
install(
FILES
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}ConfigVersion.cmake
COMPONENT Development
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} )
# Create and install the description of the libraries.
install( EXPORT ${PROJECT_NAME}-export
FILE ${PROJECT_NAME}Targets.cmake
COMPONENT Development
NAMESPACE "${PROJECT_NAME}::"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} )
# Install the hand-written project configuration.
configure_file( ${CMAKE_SOURCE_DIR}/cmake/GeoModelG4Config.cmake
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake
@ONLY )
install(
FILES
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${PROJECT_NAME}Config.cmake
COMPONENT Development
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} )
# Set up the packaging of the project using CPack.
#include( GeoModelG4Packaging )
...@@ -2,22 +2,22 @@ ...@@ -2,22 +2,22 @@
# Package: GeoMaterial2G4 # Package: GeoMaterial2G4
################################################################################ ################################################################################
cmake_minimum_required(VERSION 3.10) #cmake_minimum_required(VERSION 3.10)
# Declare the package name # Declare the package name
project( "GeoMaterial2G4" VERSION 1.0.0 LANGUAGES CXX ) #project( "GeoMaterial2G4" VERSION 1.0.0 LANGUAGES CXX )
# External dependencies: # External dependencies:
find_package( Geant4 REQUIRED ) find_package( Geant4 REQUIRED )
find_package( GeoModelCore REQUIRED ) find_package( GeoModelCore REQUIRED )
# Project's Settings # Project's Settings
set(CMAKE_CXX_STANDARD 17) #set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON) #set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF) #set(CMAKE_CXX_EXTENSIONS OFF)
# Use the GNU install directory names. # Use the GNU install directory names.
include( GNUInstallDirs ) # it defines CMAKE_INSTALL_LIBDIR #include( GNUInstallDirs ) # it defines CMAKE_INSTALL_LIBDIR
# Find the header and source files. # Find the header and source files.
file( GLOB SOURCES src/*.cxx ) file( GLOB SOURCES src/*.cxx )
...@@ -26,26 +26,48 @@ file( GLOB HEADERS GeoMaterial2G4/*.h ) ...@@ -26,26 +26,48 @@ file( GLOB HEADERS GeoMaterial2G4/*.h )
# include Geant4 headers # include Geant4 headers
include(${Geant4_USE_FILE}) include(${Geant4_USE_FILE})
# Set target and properties # Create the library.
add_library( GeoMaterial2G4 SHARED ${HEADERS} ${SOURCES} ) add_library( GeoMaterial2G4 SHARED ${HEADERS} ${SOURCES} )
target_link_libraries( GeoMaterial2G4 PUBLIC ${Geant4_LIBRARIES} GeoModelCore::GeoModelKernel ) target_link_libraries( GeoMaterial2G4 PUBLIC GeoModelCore::GeoGenericFunctions ${Geant4_LIBRARIES} GeoModelCore::GeoModelKernel)
target_include_directories( GeoMaterial2G4 SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR} ${Geant4_INCLUDE_DIR})
target_include_directories( GeoMaterial2G4 PUBLIC target_include_directories( GeoMaterial2G4 PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:include> ) $<INSTALL_INTERFACE:include> )
source_group( "GeoMaterial2G4" FILES ${HEADERS} )
source_group( "src" FILES ${SOURCES} )
set_target_properties( GeoMaterial2G4 PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR} )
# Install the library.
install( TARGETS GeoMaterial2G4
EXPORT ${PROJECT_NAME}-export
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT Runtime
NAMELINK_SKIP )
install( TARGETS GeoMaterial2G4
EXPORT ${PROJECT_NAME}-export
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
COMPONENT Development
NAMELINK_ONLY )
install( FILES ${HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GeoMaterial2G4
COMPONENT Development )
# Set target and properties
#add_library( GeoMaterial2G4 SHARED ${HEADERS} ${SOURCES} )
#target_link_libraries( GeoMaterial2G4 PUBLIC ${Geant4_LIBRARIES} GeoModelCore::GeoModelKernel )
#target_include_directories( GeoMaterial2G4 PUBLIC
# $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
# $<INSTALL_INTERFACE:include> )
# Set installation of library headers # Set installation of library headers
set_property( TARGET GeoMaterial2G4 PROPERTY PUBLIC_HEADER ${HEADERS} ) #set_property( TARGET GeoMaterial2G4 PROPERTY PUBLIC_HEADER ${HEADERS} )
# # Install the library and set export target
# install( TARGETS GeoMaterial2G4
# EXPORT GeoMaterial2G4Config
# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
# PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GeoMaterial2G4
# )
#
# # Install a CMake description of the project/library.
# install( EXPORT GeoMaterial2G4Config DESTINATION cmake )
# new test GeoModelG4 # new test GeoModelG4
install( TARGETS GeoMaterial2G4 EXPORT GeoMaterial2G4-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} #install( TARGETS GeoMaterial2G4 EXPORT GeoMaterial2G4-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GeoMaterial2G4 ) # PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GeoMaterial2G4 )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment