IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 4fa33ff5 authored by ralfulrich's avatar ralfulrich
Browse files

updates

parent c17fc68b
No related branches found
No related tags found
No related merge requests found
cmake_minimum_required (VERSION 3.1) cmake_minimum_required (VERSION 3.1)
#
project (CxRooot) project (CxRooot)
#
enable_language (Fortran) enable_language (Fortran)
set (CMAKE_Fortran_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/src/ -I${CMAKE_CURRENT_BINARY_DIR}/src/ -I${CMAKE_CURRENT_SOURCE_DIR}/src/urqmd13/") set (CMAKE_Fortran_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR}/src/ -I${CMAKE_CURRENT_BINARY_DIR}/src/ -I${CMAKE_CURRENT_SOURCE_DIR}/src/urqmd13/")
message ("***** Configuring CxRoot/CONEX version") message ("***** Configuring CxRoot/CONEX version")
#
#
#+++++++++++++++++++++++++++++ #+++++++++++++++++++++++++++++
# Location # Location, saved in conexConfigAuto.h
# #
if (TARGET CorsikaData) if (TARGET CorsikaData)
set (TABDIR ${CorsikaData_DIR}) set (TABDIR "${CorsikaData_DIR}/")
else (TARGET CorsikaData) else (TARGET CorsikaData)
set (TABDIR_PRE "${CMAKE_CURRENT_SOURCE_DIR}/tabs") set (TABDIR_PRE "${CMAKE_CURRENT_SOURCE_DIR}/tabs")
if (DEFINED ENV{CORSIKA_DATA}) if (DEFINED ENV{CORSIKA_DATA})
set (TABDIR_PRE "$ENV{CORSIKA_DATA}") set (TABDIR_PRE "$ENV{CORSIKA_DATA}/CONEX")
else () else ()
if (DEFINED ENV{CONEXTABROOT}) if (DEFINED ENV{CONEXTABROOT})
set (TABDIR_PRE "$ENV{CONEXTABROOT}") set (TABDIR_PRE "$ENV{CONEXTABROOT}")
endif () endif ()
endif () endif ()
set (TABDIR "${TABDIR_PRE}") set (TABDIR "${TABDIR_PRE}/")
add_subdirectory (${TABDIR} tabs) add_subdirectory (${TABDIR} tabs)
endif (TARGET CorsikaData) endif (TARGET CorsikaData)
#
# set (CFG_CONEX_CONFIG_PATH "${CMAKE_CURRENT_BINARY_DIR}/cfg/")
configure_file (src/conexConfigAuto.h.in src/conexConfigAuto.h)
#+++++++++++++++++++++++++++++ #+++++++++++++++++++++++++++++
# Config file generation # Config file generation
# #
file (GLOB CONFIG_FILES "${PROJECT_SOURCE_DIR}/src/*.paramin") file (GLOB CONFIG_FILES "${PROJECT_SOURCE_DIR}/src/*.paramin")
foreach (CONFIG_FILE_ABS ${CONFIG_FILES}) foreach (CONFIG_FILE_ABS ${CONFIG_FILES})
get_filename_component (CONFIG_FILE ${CONFIG_FILE_ABS} NAME) get_filename_component (CONFIG_FILE ${CONFIG_FILE_ABS} NAME)
string (REPLACE paramin param CONFIG_OUT ${CONFIG_FILE}) string (REPLACE paramin param CONFIG_OUT ${CONFIG_FILE})
message (INFO "==[make]==> generating cfg/${CONFIG_OUT} from : src/${CONFIG_FILE}") message ("==[make]==> generating cfg/${CONFIG_OUT} from : src/${CONFIG_FILE}")
set (CONEXTABROOT ${TABDIR}) set (CONEXTABROOT ${TABDIR})
set (BZ2 ".bz2") set (BZ2 ".bz2")
configure_file (src/${CONFIG_FILE} cfg/${CONFIG_OUT}) configure_file (src/${CONFIG_FILE} cfg/${CONFIG_OUT})
endforeach () endforeach ()
#
configure_file (src/conexConfigAuto.h.in src/conexConfigAuto.h)
#
#
#+++++++++++++++++++++++++++++ #+++++++++++++++++++++++++++++
# Model selection, and also library generation # Model selection, and also library generation
# #
set (ALL_MODELS epos qgsjet qgsjetII qgsjetIII dpm sibyll) set (ALL_MODELS
set (MODELS epos sibyll qgsjet qgsjetII dpmjetIII) epos
# qgsjet
qgsjetII
qgsjetIII
dpm
sibyll
)
# we only build and use SIBYLL now, there is not yet
# a mechanism to dynamically change that
set (MODELS
sibyll
)
# Our simplified "dict": # Our simplified "dict":
set (DEF_epos __EPOS__) set (DEF_epos __EPOS__)
set (DEF_sibyll __SIBYLL21__) set (DEF_sibyll __SIBYLL21__)
...@@ -55,14 +69,24 @@ set (DEF_qgsjetII __QGSJETII__) ...@@ -55,14 +69,24 @@ set (DEF_qgsjetII __QGSJETII__)
set (DEF_qII __QGSJETII__) set (DEF_qII __QGSJETII__)
set (DEF_dpmjet __DPMJET__) set (DEF_dpmjet __DPMJET__)
set (DEF_qgsjet __QGSJET__) set (DEF_qgsjet __QGSJET__)
#
set (CONEX_LIB_SOURCES src/conex_sub.F src/conex_mod.F src/conex2r.F src/leadingInteractionsData.cc src/conexConfigAuto.h) # Another simplified "dict":
# set (OBJ_sibyll Sibyll_static)
set (CONEX_LIB_SOURCES
src/conex_sub.F
src/conex_mod.F
src/conex2r.F
src/leadingInteractionsData.cc
src/conexConfigAuto.h
)
foreach (MODEL ${MODELS}) foreach (MODEL ${MODELS})
add_library (libCONEX${MODEL} STATIC ${CONEX_LIB_SOURCES}) message ("adding: libCONEX${MODEL}")
add_library (CONEX${MODEL} STATIC ${CONEX_LIB_SOURCES})
set (MODEL_DEF DEF_${MODEL}) set (MODEL_DEF DEF_${MODEL})
set_target_properties ( set_target_properties (
libCONEX${MODEL} CONEX${MODEL}
PROPERTIES PROPERTIES
INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/src/;${CMAKE_CURRENT_BINARY_DIR}/src/;${CMAKE_CURRENT_SOURCE_DIR}/src/urqmd13/" INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/src/;${CMAKE_CURRENT_BINARY_DIR}/src/;${CMAKE_CURRENT_SOURCE_DIR}/src/urqmd13/"
COMPILE_OPTIONS "-std=legacy;-Wfunction-elimination;-w;-fno-second-underscore;-fno-automatic;-Wno-conversion" COMPILE_OPTIONS "-std=legacy;-Wfunction-elimination;-w;-fno-second-underscore;-fno-automatic;-Wno-conversion"
...@@ -70,5 +94,37 @@ foreach (MODEL ${MODELS}) ...@@ -70,5 +94,37 @@ foreach (MODEL ${MODELS})
POSITION_INDEPENDENT_CODE 1 POSITION_INDEPENDENT_CODE 1
LINK_LIBRARIES CorsikaData LINK_LIBRARIES CorsikaData
) )
target_include_directories (
CONEX${MODEL}
PUBLIC
$<BUILD_INTERFACE: ${CMAKE_CURRENT_SOURCE_DIR}/src;${CMAKE_CURRENT_BINARY_DIR}/src>
$<INSTALL_INTERFACE: ${CMAKE_CURRENT_SOURCE_DIR}/src;${CMAKE_CURRENT_BINARY_DIR}/src>
)
# make sure to link to actual model library
target_link_libraries (
CONEX${MODEL}
${OBJ_${MODEL}}
UrQMD_static # AND urqmd
)
#
# conex also read tables from corsika-data
#
if (TARGET CorsikaData)
target_link_libraries (
CONEX${MODEL}
CorsikaData
)
endif (TARGET CorsikaData)
#
# add to combined CORSIKA8 target
#
add_dependencies (CORSIKA8 CONEX${MODEL})
target_link_libraries (CORSIKA8 INTERFACE CONEX${MODEL})
endforeach () endforeach ()
#
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
#cmakedefine CONEX_EXTENSIONS 1 #cmakedefine CONEX_EXTENSIONS 1
#define CONEX_CONFIG_PATH @CFG_CONEX_CONFIG_PATH@ #define CONEX_CONFIG_PATH "@CFG_CONEX_CONFIG_PATH@"
#define CONEX_DATA_PATH @TABDIR@ #define CONEX_DATA_PATH "@TABDIR@"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment