1 # - Define macro to check if isfinite or _isfinite exists
3 # gmx_test_isfinite(VARIABLE)
5 # VARIABLE will be set to true if isfinite exists
7 # gmx_test__isfinite(VARIABLE)
9 # VARIABLE will be set to true if _isfinite exists
11 # gmx_test__finite(VARIABLE) - disabled since it doesn't seem to work the way the MSVC docs suggest
13 # VARIABLE will be set to true if _finite exists
16 MACRO(gmx_test_isfinite VARIABLE)
17 if(NOT DEFINED isfinite_compile_ok)
18 MESSAGE(STATUS "Checking for isfinite")
20 set(CMAKE_REQUIRED_INCLUDES "math.h")
21 set(CMAKE_REQUIRED_LIBRARIES "m")
22 check_c_source_compiles(
27 }" isfinite_compile_ok)
29 if(isfinite_compile_ok)
30 MESSAGE(STATUS "Checking for isfinite - yes")
31 else(isfinite_compile_ok)
32 MESSAGE(STATUS "Checking for isfinite - no")
33 endif(isfinite_compile_ok)
34 set(isfinite_compile_ok "${isfinite_compile_ok}" CACHE INTERNAL "Result of isfinite check")
35 endif(NOT DEFINED isfinite_compile_ok)
36 if(isfinite_compile_ok)
37 set(${VARIABLE} ${isfinite_compile_ok}
38 "Result of test for isfinite")
40 ENDMACRO(gmx_test_isfinite VARIABLE)
42 MACRO(gmx_test__isfinite VARIABLE)
43 if(NOT DEFINED _isfinite_compile_ok)
44 MESSAGE(STATUS "Checking for _isfinite")
46 set(CMAKE_REQUIRED_INCLUDES "math.h")
47 set(CMAKE_REQUIRED_LIBRARIES "m")
48 check_c_source_compiles(
53 }" _isfinite_compile_ok)
55 if(_isfinite_compile_ok)
56 MESSAGE(STATUS "Checking for _isfinite - yes")
57 else(_isfinite_compile_ok)
58 MESSAGE(STATUS "Checking for _isfinite - no")
59 endif(_isfinite_compile_ok)
60 set(_isfinite_compile_ok "${_isfinite_compile_ok}" CACHE INTERNAL "Result of _isfinite check")
61 endif(NOT DEFINED _isfinite_compile_ok)
62 if(_isfinite_compile_ok)
63 set(${VARIABLE} ${_isfinite_compile_ok}
64 "Result of test for _isfinite")
66 ENDMACRO(gmx_test__isfinite VARIABLE)
69 MACRO(gmx_test__finite VARIABLE)
70 if(NOT DEFINED _finite_compile_ok)
71 MESSAGE(STATUS "Checking for _finite")
73 set(CMAKE_REQUIRED_INCLUDES "float.h")
74 check_c_source_compiles(
79 }" _finite_compile_ok)
81 if(_finite_compile_ok)
82 MESSAGE(STATUS "Checking for _finite - yes")
83 else(_finite_compile_ok)
84 MESSAGE(STATUS "Checking for _finite - no")
85 endif(_finite_compile_ok)
86 set(_finite_compile_ok "${_finite_compile_ok}" CACHE INTERNAL "Result of _finite check")
87 endif(NOT DEFINED _finite_compile_ok)
88 if(_finite_compile_ok)
89 set(${VARIABLE} ${_finite_compile_ok}
90 "Result of test for _finite")
92 ENDMACRO(gmx_test__finite VARIABLE)