Skip to content
Snippets Groups Projects
Commit a4fada60 authored by Simon Praetorius's avatar Simon Praetorius
Browse files

Update AddQuadMathFlags to link to imported target

Move HAVE_QUADMATH and dune_register_package_flags to AddQuadMathFlags
parent f18ce6b2
Branches
Tags
1 merge request!819Rewrite FindQuadMath to provide imported targets
Pipeline #27412 passed
......@@ -10,19 +10,23 @@
# A list of targets to use QuadMath with.
#
# set HAVE_QUADMATH for config.h
set(HAVE_QUADMATH ${QuadMath_FOUND})
# register the QuadMath imported target
if(QuadMath_FOUND)
dune_register_package_flags(
LIBRARIES QuadMath::QuadMath
COMPILE_DEFINITIONS "ENABLE_QUADMATH=1"
)
endif()
# add function to link against QuadMath::QuadMath
function(add_dune_quadmath_flags _targets)
if(QUADMATH_FOUND)
if(QuadMath_FOUND)
foreach(_target ${_targets})
target_link_libraries(${_target} "quadmath")
set_property(TARGET ${_target}
APPEND_STRING
PROPERTY COMPILE_FLAGS "-DENABLE_QUADMATH=1 -D_GLIBCXX_USE_FLOAT128=1 ")
if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
set_property(TARGET ${_target}
APPEND_STRING
PROPERTY COMPILE_FLAGS "-fext-numeric-literals ")
endif()
target_link_libraries(${_target} QuadMath::QuadMath)
target_compile_definitions(${_target} "ENABLE_QUADMATH=1")
endforeach(_target ${_targets})
endif(QUADMATH_FOUND)
endif()
endfunction(add_dune_quadmath_flags)
......@@ -37,6 +37,9 @@ include(CheckCXXSourceCompiles)
include(CMakePushCheckState)
cmake_push_check_state()
set(CMAKE_REQUIRED_LIBRARIES quadmath)
if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
set(CMAKE_REQUIRED_FLAGS "-fext-numeric-literals")
endif()
check_cxx_source_compiles("
#include <quadmath.h>
......@@ -57,7 +60,7 @@ endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(QuadMath
DEFAULT_MSG
QuadMath_VAR QuadMath_HEADER QuadMath_COMPILES
QuadMath_VAR QuadMath_COMPILES
)
# add imported target for quadmath
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment