diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2007-05-30 18:08:35 +0000 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2007-05-30 18:08:35 +0000 |
commit | 658eccd43b43caad7b03c593d9645e797f063799 (patch) | |
tree | 7dea35b17e28bd3386ee672832da57fd59d46a7e /cmake | |
parent | 7947ae0e502d4a71b5db19e582399a17d5647273 (diff) |
Convert 5 m4 checks to cmake modules
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/CheckComplex.cmake | 22 | ||||
-rw-r--r-- | cmake/CheckComplexMath1.cmake | 23 | ||||
-rw-r--r-- | cmake/CheckComplexMath2.cmake | 22 | ||||
-rw-r--r-- | cmake/CheckIeeeMath.cmake | 30 | ||||
-rw-r--r-- | cmake/CheckSysvMath.cmake | 34 |
5 files changed, 131 insertions, 0 deletions
diff --git a/cmake/CheckComplex.cmake b/cmake/CheckComplex.cmake new file mode 100644 index 000000000..6b667f486 --- /dev/null +++ b/cmake/CheckComplex.cmake @@ -0,0 +1,22 @@ +INCLUDE(CheckCXXSourceCompiles) + +MACRO (CHECK_COMPLEX _RESULT) + +SET(_CHECK_COMPLEX_SOURCE_CODE " + +#include<complex> + +using namespace std; + +int main(int argc, char *argv[]) +{ + complex<double> x(1.0, 1.0); + complex<float> y(1.0f, 1.0f); + return 0; +} + +") + +CHECK_CXX_SOURCE_COMPILES("${_CHECK_COMPLEX_SOURCE_CODE}" ${_RESULT}) + +ENDMACRO (CHECK_COMPLEX) diff --git a/cmake/CheckComplexMath1.cmake b/cmake/CheckComplexMath1.cmake new file mode 100644 index 000000000..52024288d --- /dev/null +++ b/cmake/CheckComplexMath1.cmake @@ -0,0 +1,23 @@ +INCLUDE(CheckCXXSourceCompiles) + +MACRO (CHECK_COMPLEX_MATH1 _RESULT) + +SET(_CHECK_COMPLEX_MATH1_SOURCE_CODE " + +#include<complex> + +using namespace std; + +int main(int argc, char *argv[]) +{ + complex<double> x(1.0, 1.0), y(1.0, 1.0); + cos(x); cosh(x); exp(x); log(x); pow(x,1); pow(x,double(2.0)); + pow(x, y); pow(double(2.0), x); sin(x); sinh(x); sqrt(x); tan(x); tanh(x); + return 0; +} + +") + +CHECK_CXX_SOURCE_COMPILES("${_CHECK_COMPLEX_MATH1_SOURCE_CODE}" ${_RESULT}) + +ENDMACRO (CHECK_COMPLEX_MATH1) diff --git a/cmake/CheckComplexMath2.cmake b/cmake/CheckComplexMath2.cmake new file mode 100644 index 000000000..68ed74417 --- /dev/null +++ b/cmake/CheckComplexMath2.cmake @@ -0,0 +1,22 @@ +INCLUDE(CheckCXXSourceCompiles) + +MACRO (CHECK_COMPLEX_MATH2 _RESULT) + +SET(_CHECK_COMPLEX_MATH2_SOURCE_CODE " + +#include<complex> + +using namespace std; + +int main(int argc, char *argv[]) +{ + complex<double> x(1.0, 1.0), y(1.0, 1.0); + acos(x); asin(x); atan(x); atan2(x,y); atan2(x, double(3.0)); + atan2(double(3.0), x); log10(x); return 0; +} + +") + +CHECK_CXX_SOURCE_COMPILES("${_CHECK_COMPLEX_MATH2_SOURCE_CODE}" ${_RESULT}) + +ENDMACRO (CHECK_COMPLEX_MATH2) diff --git a/cmake/CheckIeeeMath.cmake b/cmake/CheckIeeeMath.cmake new file mode 100644 index 000000000..13bc6ac61 --- /dev/null +++ b/cmake/CheckIeeeMath.cmake @@ -0,0 +1,30 @@ +INCLUDE(CheckCXXSourceCompiles) + +MACRO (CHECK_IEEE_MATH _RESULT) + +SET(_CHECK_IEEE_MATH_SOURCE_CODE " + +#include<cmath> + +int main(int argc, char *argv[]) +{ + double x = 1.0; double y = 1.0; + acosh(x); asinh(x); atanh(x); + expm1(x); + erf(x); erfc(x); + // finite(x); + isnan(x); + j0(x); j1(x); + lgamma(x); + logb(x); log1p(x); + rint(x); + // trunc(x); + y0(x); y1(x); + return 0; +} + +") + +CHECK_CXX_SOURCE_COMPILES("${_CHECK_IEEE_MATH_SOURCE_CODE}" ${_RESULT}) + +ENDMACRO (CHECK_IEEE_MATH) diff --git a/cmake/CheckSysvMath.cmake b/cmake/CheckSysvMath.cmake new file mode 100644 index 000000000..d4542bc59 --- /dev/null +++ b/cmake/CheckSysvMath.cmake @@ -0,0 +1,34 @@ +INCLUDE(CheckCXXSourceCompiles) + +MACRO (CHECK_SYSV_MATH _RESULT) + +SET(_CHECK_SYSV_MATH_SOURCE_CODE " + +#include<cmath> + +int main(int argc, char *argv[]) +{ + double x = 1.0; double y = 1.0; + _class(x); + ilogb(x); + itrunc(x); + nearest(x); + rsqrt(x); + uitrunc(x); + + copysign(x,y); + drem(x,y); + fmod(x,y); + hypot(x,y); + nextafter(x,y); + remainder(x,y); + scalb(x,y); + unordered(x,y); + return 0; +} + +") + +CHECK_CXX_SOURCE_COMPILES("${_CHECK_SYSV_MATH_SOURCE_CODE}" ${_RESULT}) + +ENDMACRO (CHECK_SYSV_MATH) |