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

Fix bug in the CMakeList file introduced when setting up the ci

parent 6b82a73d
Branches
Tags
No related merge requests found
Pipeline #1403321 failed
......@@ -2,54 +2,13 @@
cmake_minimum_required( VERSION 3.1 )
project( "GeoModelG4" VERSION 1.0.0 LANGUAGES CXX )
# 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(GeoModel2G4)
#install(EXPORT GeoMaterial2G4-export FILE GeoModelG4-GeoMaterial2G4.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)
# 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} )
install(EXPORT GeoMaterial2G4-export FILE GeoModelG4-GeoMaterial2G4.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)
# Set up the packaging of the project using CPack.
#include( GeoModelG4Packaging )
################################################################################
# Package: GeoMaterial2G4
################################################################################
cmake_minimum_required(VERSION 3.10)
project( "GeoMaterial2G4" VERSION 1.0.0 LANGUAGES CXX )
# External dependencies:
find_package( Geant4 REQUIRED )
find_package( GeoModelCore REQUIRED )
# Project's Settings
#set(CMAKE_CXX_STANDARD 17)
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
#set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# 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.
file( GLOB SOURCES src/*.cxx )
......@@ -21,48 +24,17 @@ file( GLOB HEADERS GeoMaterial2G4/*.h )
# include Geant4 headers
include(${Geant4_USE_FILE})
# Create the library.
# Set target and properties
add_library( GeoMaterial2G4 SHARED ${HEADERS} ${SOURCES} )
target_link_libraries( GeoMaterial2G4 PUBLIC GeoModelCore::GeoGenericFunctions ${Geant4_LIBRARIES} GeoModelCore::GeoModelKernel)
target_include_directories( GeoMaterial2G4 SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR} ${Geant4_INCLUDE_DIR})
target_link_libraries( GeoMaterial2G4 PUBLIC ${Geant4_LIBRARIES} GeoModelCore::GeoModelKernel )
target_include_directories( GeoMaterial2G4 PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<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_property( TARGET GeoMaterial2G4 PROPERTY PUBLIC_HEADER ${HEADERS} )
set_property( TARGET GeoMaterial2G4 PROPERTY PUBLIC_HEADER ${HEADERS} )
# new test GeoModelG4
#install( TARGETS GeoMaterial2G4 EXPORT GeoMaterial2G4-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
# PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GeoMaterial2G4 )
install( TARGETS GeoMaterial2G4 EXPORT GeoMaterial2G4-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
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