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")
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 ()
#
# library setup
#
Maximilian Reininghaus
committed
COMBoost.cc
${CORSIKA_FENV})
Maximilian Reininghaus
committed
COMBoost.h
CorsikaFenv.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)
Maximilian Reininghaus
committed
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
Maximilian Reininghaus
committed
add_executable (testCOMBoost testCOMBoost.cc)
Maximilian Reininghaus
committed
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)