| diff -Naur geos-3.6.2.orig/CMakeLists.txt geos-3.6.2/CMakeLists.txt |
| --- geos-3.6.2.orig/CMakeLists.txt 2018-05-23 19:46:15.542316000 -0400 |
| +++ geos-3.6.2/CMakeLists.txt 2018-05-23 20:36:33.943193000 -0400 |
| @@ -116,7 +116,7 @@ |
| "Forcing IEEE 754 using flag -ffloat-store - ${GEOS_ENABLE_FLOATSTORE}") |
| |
| # Warnings specification |
| - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -fno-implicit-inline-templates -Wconversion -pedantic -W -Wunused -Wuninitialized -Wextra -Wdouble-promotion") |
| + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -fno-implicit-inline-templates -Wconversion -pedantic -W -Wunused -Wuninitialized -Wextra -Wdouble-promotion") |
| |
| # Turn on Position Independent Code generation for GEOS C shared library |
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -Wconversion -pedantic -Wmissing-prototypes -W -Wunused -Wuninitialized -Wextra -Wdouble-promotion") |
| @@ -191,7 +191,10 @@ |
| include(CheckPrototypeExists) |
| include(CheckSymbolExists) |
| |
| -check_prototype_exists(isnan cmath HAVE_STD_ISNAN) |
| +check_cxx_source_compiles( |
| + "#include <cmath> |
| + int main() { double x=0.1; return std::isnan(x)?1:0; }" |
| + HAVE_STD_ISNAN) |
| if(NOT HAVE_STD_ISNAN) |
| if(MSVC) |
| check_prototype_exists(_isnan float.h HAVE_ISNAN) |
| @@ -205,7 +208,10 @@ |
| endif() |
| endif() |
| |
| -check_prototype_exists(isfinite cmath HAVE_STD_ISFINITE) |
| +check_cxx_source_compiles( |
| + "#include <cmath> |
| + int main() { double x=0.1; return std::isfinite(x)?1:0; }" |
| + HAVE_STD_ISFINITE) |
| |
| if(NOT HAVE_STD_ISFINITE) |
| if(MSVC) |
| @@ -347,7 +353,7 @@ |
| DESTINATION "${PROJECT_BINARY_DIR}") |
| endif() |
| |
| -include(GenerateSourceGroups) |
| +#include(GenerateSourceGroups) |
| |
| # Enable target debugging for CMake Tools in Visual Studio Code |
| # https://github.com/vector-of-bool/vscode-cmake-tools |
| diff -Naur geos-3.6.2.orig/include/CMakeLists.txt geos-3.6.2/include/CMakeLists.txt |
| --- geos-3.6.2.orig/include/CMakeLists.txt 2018-05-23 19:46:15.521315800 -0400 |
| +++ geos-3.6.2/include/CMakeLists.txt 2018-05-23 20:37:32.614369700 -0400 |
| @@ -54,4 +54,4 @@ |
| ################################################################################# |
| # Group source files for IDE source explorers (e.g. Visual Studio) |
| ################################################################################# |
| -GenerateSourceGroups(include) |
| +#GenerateSourceGroups(include) |
| diff -Naur geos-3.6.2.orig/src/CMakeLists.txt geos-3.6.2/src/CMakeLists.txt |
| --- geos-3.6.2.orig/src/CMakeLists.txt 2018-05-23 19:46:15.848312300 -0400 |
| +++ geos-3.6.2/src/CMakeLists.txt 2018-05-23 20:37:52.022699800 -0400 |
| @@ -105,4 +105,4 @@ |
| ################################################################################# |
| # Group source files for IDE source explorers (e.g. Visual Studio) |
| ################################################################################# |
| -GenerateSourceGroups(src) |
| +#GenerateSourceGroups(src) |
| diff -Naur geos-3.6.2.orig/tests/unit/CMakeLists.txt geos-3.6.2/tests/unit/CMakeLists.txt |
| --- geos-3.6.2.orig/tests/unit/CMakeLists.txt 2018-05-23 19:46:14.736324600 -0400 |
| +++ geos-3.6.2/tests/unit/CMakeLists.txt 2018-05-23 20:38:21.110716300 -0400 |
| @@ -38,4 +38,4 @@ |
| ################################################################################# |
| # Group source files for IDE source explorers (e.g. Visual Studio) |
| ################################################################################# |
| -GenerateSourceGroups(tests/unit) |
| +#GenerateSourceGroups(tests/unit) |
| --- geos-3.7.0/include/geos/platform.h.cmake.orig 2018-11-03 11:54:44.643131100 +0300 |
| +++ geos-3.7.0/include/geos/platform.h.cmake 2018-11-03 11:57:49.714716600 +0300 |
| @@ -31,6 +31,9 @@ |
| |
| /* Set to 1 if you have ieeefp.h */ |
| #cmakedefine HAVE_IEEEFP_H 1 |
| + |
| +#cmakedefine HAVE_STD_ISFINITE 1 |
| +#cmakedefine HAVE_STD_ISNAN 1 |
| |
| #ifdef _MSC_VER |
| # define _USE_MATH_DEFINES |
| @@ -66,10 +66,14 @@ |
| # endif |
| #else |
| # include <ieeefp.h> |
| -# ifndef FINITE |
| +# if defined(HAVE_STD_ISFINITE) |
| +# define FINITE(x) std::isfinite(x) |
| +# elif !defined(FINITE) |
| # define FINITE(x) finite(x) |
| # endif |
| -# ifndef ISNAN |
| +# if defined(HAVE_STD_ISNAN) |
| +# define ISNAN(x) std::isnan(x) |
| +# elif !defined(ISNAN) |
| # define ISNAN(x) isnan(x) |
| # endif |
| #endif |