CHECK_FUNCTION_EXISTS for sinf/cosf/sqrtf actually fails not because of missing math.h, but because of missing -lm. Fixed.

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1281 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
beuc 2012-05-02 16:44:40 +00:00
parent 488823afc3
commit 7f845a72dc

View File

@ -187,7 +187,10 @@ ENDIF()
# lib m for math, not needed on windows
IF (NOT WIN32)
# For compilation:
LIST(APPEND LIBS m)
# For CHECK_FUNCTION_EXISTS:
LIST(APPEND CMAKE_REQUIRED_LIBRARIES m)
ENDIF()
IF(WIN32)
@ -262,26 +265,9 @@ IF (NOT (HAVE_STDINT_H OR HAVE_INTTYPES_H))
ENDIF()
# Check for sinf/cosf/sqrtf
# CHECK_FUNCTION_EXISTS doesn't work because check requires <math.h>
#CHECK_FUNCTION_EXISTS(sinf HAVE_SINF)
#CHECK_FUNCTION_EXISTS(cosf HAVE_COSF)
#CHECK_FUNCTION_EXISTS(sqrtf HAVE_SQRTF)
INCLUDE(CheckCSourceCompiles)
CHECK_C_SOURCE_COMPILES("
#include <math.h>
int main(){sinf(0); return 0;}
" HAVE_SINF
)
CHECK_C_SOURCE_COMPILES("
#include <math.h>
int main(){cosf(0); return 0;}
" HAVE_COSF
)
CHECK_C_SOURCE_COMPILES("
#include <math.h>
int main(){sqrtf(0); return 0;}
" HAVE_SQRTF
)
CHECK_FUNCTION_EXISTS(sinf HAVE_SINF)
CHECK_FUNCTION_EXISTS(cosf HAVE_COSF)
CHECK_FUNCTION_EXISTS(sqrtf HAVE_SQRTF)
# The generated config.h is placed in the project's build directory, just to
# ensure that all CMake-generated files are kept away from the main source tree.