IAP GITLAB

Skip to content
Snippets Groups Projects
CMakeLists.txt 1.81 KiB
Newer Older
#
# cfenv feature test - select implementation to use
#
try_compile (HAS_FEENABLEEXCEPT "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/try_feenableexcept.cc")
if (HAS_FEENABLEEXCEPT)
  set (CORSIKA_FENV "CorsikaFenvDefault.cc")
ralfulrich's avatar
ralfulrich committed
  set_property(DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_DEFINITIONS "HAS_FEENABLEEXCEPT")
else ()
  if (APPLE)
    set (CORSIKA_FENV "CorsikaFenvOSX.cc")
  else()
    set (CORSIKA_FENV "CorsikaFenvFallback.cc")
  endif()
endif ()
set (
  UTILITIES_SOURCES  

set (
  UTILITIES_HEADERS
  Bit.h
  Singleton.h
  )

set (
  UTILITIES_NAMESPACE
  corsika/utl
  )

add_library (CORSIKAutilities STATIC ${UTILITIES_SOURCES})
CORSIKA_COPY_HEADERS_TO_NAMESPACE (CORSIKAutilities ${UTILITIES_NAMESPACE} ${UTILITIES_HEADERS})

set_target_properties (
  CORSIKAutilities
  PROPERTIES
  VERSION ${PROJECT_VERSION}
  SOVERSION 1
  PUBLIC_HEADER "${UTILITIES_HEADERS}"
  )

# target dependencies on other libraries (also the header onlys)
target_link_libraries (
  CORSIKAutilities
  CORSIKAgeometry
  CORSIKAunits
  )

target_include_directories (
  CORSIKAutilities
  PUBLIC
  $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include>
  $<INSTALL_INTERFACE:include/include>
  )

install (
  TARGETS CORSIKAutilities
  LIBRARY DESTINATION lib
  ARCHIVE DESTINATION lib
  PUBLIC_HEADER DESTINATION include/${UTILITIES_NAMESPACE}
  )


# --------------------
# code unit testing
add_executable (testCOMBoost testCOMBoost.cc)
target_link_libraries (
  testCOMBoost
  CORSIKAutilities
  CORSIKAthirdparty # for catch2
  )
add_executable (testCorsikaFenv testCorsikaFenv.cc)

target_link_libraries (
  testCorsikaFenv
  CORSIKAutilities
  CORSIKAthirdparty # for catch2
)
CORSIKA_ADD_TEST(testCOMBoost)
add_test(testCorsikaFenv testCorsikaFenv)