File proj8.diff of Package XyGrib
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b066a044..77633a21 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -124,22 +124,22 @@ find_path(OPENJPEG_INCLUDE_DIR
include_directories(${OPENJPEG_INCLUDE_DIR})
if(NOT WIN32)
- include(cmake/FindPROJ4.cmake)
- if(NOT PROJ4_FOUND)
- message(FATAL_ERROR "PROJ.4 library not found!")
+ include(cmake/FindPROJ8.cmake)
+ if(NOT PROJ8_FOUND)
+ message(FATAL_ERROR "PROJ.8 library not found!")
endif()
- include_directories(${PROJ4_INCLUDE_DIRS})
+ include_directories(${PROJ8_INCLUDE_DIRS})
endif()
if(WIN32)
- find_library(PROJ4_LIBRARIES
+ find_library(PROJ8_LIBRARIES
NAME "libproj.a"
PATHS
$ENV{EXTERNLIBS}/lib
/opt/lib
REQUIRED
)
- find_path(PROJ4_INCLUDE_DIRS
- NAMES "proj_api.h"
+ find_path(PROJ8_INCLUDE_DIRS
+ NAMES "proj.h"
PATHS
$ENV{EXTERNLIBS}/include
/opt/include
diff --git a/cmake/FindPROJ8.cmake b/cmake/FindPROJ8.cmake
new file mode 100644
index 00000000..33470ac2
--- /dev/null
+++ b/cmake/FindPROJ8.cmake
@@ -0,0 +1,76 @@
+# - Find PROJ8
+# Find the PROJ8 includes and library
+#
+# PROJ8_INCLUDE_DIR - Where to find PROJ8 includes
+# PROJ8_LIBRARIES - List of libraries when using PROJ8
+# PROJ8_FOUND - True if PROJ8 was found
+
+IF(PROJ8_INCLUDE_DIR)
+ SET(PROJ8_FIND_QUIETLY TRUE)
+ENDIF(PROJ8_INCLUDE_DIR)
+
+FIND_PATH(PROJ8_INCLUDE_DIR "proj.h"
+ PATHS
+ $ENV{EXTERNLIBS}/include
+ $ENV{EXTERNLIBS}/PROJ8/include
+ ~/Library/Frameworks/include
+ /Library/Frameworks/include
+ /usr/local/include
+ /usr/include
+ /sw/include # Fink
+ /opt/local/include # DarwinPorts
+ /opt/csw/include # Blastwave
+ /opt/include
+ DOC "PROJ8 - Headers"
+)
+
+SET(PROJ8_NAMES PROJ8 proj proj_8_0)
+SET(PROJ8_DBG_NAMES PROJ8D projD proj_8_0_1)
+
+FIND_LIBRARY(PROJ8_LIBRARY NAMES ${PROJ8_NAMES}
+ PATHS
+ $ENV{EXTERNLIBS}
+ $ENV{EXTERNLIBS}/PROJ8
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES lib lib64
+ DOC "PROJ8 - Library"
+)
+
+INCLUDE(FindPackageHandleStandardArgs)
+
+IF(MSVC)
+ # VisualStudio needs a debug version
+ FIND_LIBRARY(PROJ8_LIBRARY_DEBUG NAMES ${PROJ8_DBG_NAMES}
+ PATHS
+ $ENV{EXTERNLIBS}/PROJ8/lib
+ DOC "PROJ8 - Library (Debug)"
+ )
+
+ IF(PROJ8_LIBRARY_DEBUG AND PROJ8_LIBRARY)
+ SET(PROJ8_LIBRARIES optimized ${PROJ8_LIBRARY} debug ${PROJ8_LIBRARY_DEBUG})
+ ENDIF(PROJ8_LIBRARY_DEBUG AND PROJ8_LIBRARY)
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROJ8 DEFAULT_MSG PROJ8_LIBRARY PROJ8_LIBRARY_DEBUG PROJ8_INCLUDE_DIR)
+
+ MARK_AS_ADVANCED(PROJ8_LIBRARY PROJ8_LIBRARY_DEBUG PROJ8_INCLUDE_DIR)
+
+ELSE(MSVC)
+ # rest of the world
+ SET(PROJ8_LIBRARIES ${PROJ8_LIBRARY})
+
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROJ8 DEFAULT_MSG PROJ8_LIBRARY PROJ8_INCLUDE_DIR)
+
+ MARK_AS_ADVANCED(PROJ8_LIBRARY PROJ8_INCLUDE_DIR)
+
+ENDIF(MSVC)
+
+IF(PROJ8_FOUND)
+ SET(PROJ8_INCLUDE_DIRS ${PROJ8_INCLUDE_DIR})
+ENDIF(PROJ8_FOUND)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2e5dbde4..9c96d49f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -118,7 +118,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/map ${MAP_GENERATED_HEADERS})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/GUI ${GUI_GENERATED_HEADERS})
-target_link_libraries(${CMAKE_PROJECT_NAME} g2clib gui util map ${LIBNOVA_LIBRARY} ${OPENJPEG_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5PrintSupport_LIBRARIES} ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} ${PROJ4_LIBRARIES} ${PNG_LIBRARIES})
+target_link_libraries(${CMAKE_PROJECT_NAME} g2clib gui util map ${LIBNOVA_LIBRARY} ${OPENJPEG_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5PrintSupport_LIBRARIES} ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} ${PROJ8_LIBRARIES} ${PNG_LIBRARIES})
# Sanitizers, part 2/2
if ( CMAKE_VERSION VERSION_GREATER 3.4 )
diff --git a/src/map/Projection.h b/src/map/Projection.h
index b4ca7f5b..d482e0dd 100644
--- a/src/map/Projection.h
+++ b/src/map/Projection.h
@@ -21,10 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <QObject>
#include <cstdio>
-#ifndef ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
-#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
-#endif
-#include "proj_api.h"
+#include "proj.h"
class Projection : public QObject
{
@@ -141,7 +138,7 @@ class Projection_libproj : public Projection
int getProjection() {return currentProj;}
private :
- projPJ libProj;
+ PJ * libProj;
int currentProj;
};