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")
22 set(CMAKE_REQUIRED_LIBRARIES "m")
24 check_c_source_compiles(
29 }" isfinite_compile_ok)
31 if(isfinite_compile_ok)
32 MESSAGE(STATUS "Checking for isfinite - yes")
33 else(isfinite_compile_ok)
34 MESSAGE(STATUS "Checking for isfinite - no")
35 endif(isfinite_compile_ok)
36 set(isfinite_compile_ok "${isfinite_compile_ok}" CACHE INTERNAL "Result of isfinite check")
37 set(CMAKE_REQUIRED_INCLUDES)
38 set(CMAKE_REQUIRED_LIBRARIES)
39 endif(NOT DEFINED isfinite_compile_ok)
40 if(isfinite_compile_ok)
41 set(${VARIABLE} ${isfinite_compile_ok}
42 "Result of test for isfinite")
44 ENDMACRO(gmx_test_isfinite VARIABLE)
46 MACRO(gmx_test__isfinite VARIABLE)
47 if(NOT DEFINED _isfinite_compile_ok)
48 MESSAGE(STATUS "Checking for _isfinite")
50 set(CMAKE_REQUIRED_INCLUDES "math.h")
52 set(CMAKE_REQUIRED_LIBRARIES "m")
54 check_c_source_compiles(
59 }" _isfinite_compile_ok)
61 if(_isfinite_compile_ok)
62 MESSAGE(STATUS "Checking for _isfinite - yes")
63 else(_isfinite_compile_ok)
64 MESSAGE(STATUS "Checking for _isfinite - no")
65 endif(_isfinite_compile_ok)
66 set(_isfinite_compile_ok "${_isfinite_compile_ok}" CACHE INTERNAL "Result of _isfinite check")
67 set(CMAKE_REQUIRED_INCLUDES)
68 set(CMAKE_REQUIRED_LIBRARIES)
69 endif(NOT DEFINED _isfinite_compile_ok)
70 if(_isfinite_compile_ok)
71 set(${VARIABLE} ${_isfinite_compile_ok}
72 "Result of test for _isfinite")
74 ENDMACRO(gmx_test__isfinite VARIABLE)
77 MACRO(gmx_test__finite VARIABLE)
78 if(NOT DEFINED _finite_compile_ok)
79 MESSAGE(STATUS "Checking for _finite")
81 set(CMAKE_REQUIRED_INCLUDES "float.h")
82 check_c_source_compiles(
87 }" _finite_compile_ok)
89 if(_finite_compile_ok)
90 MESSAGE(STATUS "Checking for _finite - yes")
91 else(_finite_compile_ok)
92 MESSAGE(STATUS "Checking for _finite - no")
93 endif(_finite_compile_ok)
94 set(_finite_compile_ok "${_finite_compile_ok}" CACHE INTERNAL "Result of _finite check")
95 set(CMAKE_REQUIRED_INCLUDES)
96 endif(NOT DEFINED _finite_compile_ok)
97 if(_finite_compile_ok)
98 set(${VARIABLE} ${_finite_compile_ok}
99 "Result of test for _finite")
101 ENDMACRO(gmx_test__finite VARIABLE)