cmake: check for math library functions even in the absence of libm

(Reference issue: https://github.com/libsdl-org/SDL/issues/7011)
This commit is contained in:
Ozkan Sezer 2023-01-07 14:25:04 +03:00
parent 305e7b55bd
commit 0d5467a6e9

View file

@ -1048,7 +1048,8 @@ if(SDL_LIBC)
check_library_exists(m pow "" HAVE_LIBM) check_library_exists(m pow "" HAVE_LIBM)
if(HAVE_LIBM) if(HAVE_LIBM)
set(CMAKE_REQUIRED_LIBRARIES m) set(CMAKE_REQUIRED_LIBRARIES m)
foreach(_FN endif()
foreach(_FN
atan atan2 atanf atan2f ceil ceilf copysign copysignf cos cosf atan atan2 atanf atan2f ceil ceilf copysign copysignf cos cosf
exp expf fabs fabsf floor floorf fmod fmodf log logf log10 log10f exp expf fabs fabsf floor floorf fmod fmodf log logf log10 log10f
lround lroundf pow powf round roundf scalbn scalbnf sin sinf sqrt lround lroundf pow powf round roundf scalbn scalbnf sin sinf sqrt
@ -1056,7 +1057,8 @@ if(SDL_LIBC)
string(TOUPPER ${_FN} _UPPER) string(TOUPPER ${_FN} _UPPER)
set(_HAVEVAR "HAVE_${_UPPER}") set(_HAVEVAR "HAVE_${_UPPER}")
check_symbol_exists("${_FN}" "math.h" ${_HAVEVAR}) check_symbol_exists("${_FN}" "math.h" ${_HAVEVAR})
endforeach() endforeach()
if(HAVE_LIBM)
set(CMAKE_REQUIRED_LIBRARIES) set(CMAKE_REQUIRED_LIBRARIES)
if(NOT VITA) if(NOT VITA)
list(APPEND EXTRA_LIBS m) list(APPEND EXTRA_LIBS m)