cmake_minimum_required (VERSION 3.1) project (libUrQMD) set ( MODEL_SOURCES urqmd.cpp urqmdInterface.F addpart.f angdis.f anndec.f blockres.f boxprg.f cascinit.f coload.f dectim.f delpart.f detbal.f dwidth.f error.f getmass.f getspin.f init.f iso.f ityp2pdg.f jdecay2.f make22.f numrec.f output.f paulibl.f proppot.f saveinfo.f scatter.f siglookup.f string.f tabinit.f urqmd.f whichres.f ) set ( MODEL_HEADERS urqmd.hpp ) enable_language (Fortran) add_library (UrQMD SHARED ${MODEL_SOURCES}) target_include_directories (UrQMD PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include/urqmd> ) set_target_properties ( UrQMD PROPERTIES POSITION_INDEPENDENT_CODE 1 ) add_library (UrQMD_static STATIC ${MODEL_SOURCES}) target_include_directories (UrQMD_static PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include/urqmd> ) set_target_properties ( UrQMD_static PROPERTIES POSITION_INDEPENDENT_CODE 1 ) install ( FILES ${MODEL_HEADERS} DESTINATION include/urqmd ) install ( TARGETS UrQMD EXPORT CORSIKA8PublicTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib INCLUDES DESTINATION include/urqmd ) install ( TARGETS UrQMD_static EXPORT CORSIKA8PublicTargets LIBRARY DESTINATION lib ARCHIVE DESTINATION lib INCLUDES DESTINATION include/urqmd ) # add UrQMD to CORSIKA8 build add_dependencies (CORSIKA8 UrQMD_static) target_link_libraries (CORSIKA8 INTERFACE UrQMD_static)