On 4/8/19 7:20 PM, Sebastiaan Couwenberg wrote:
> On 4/8/19 6:52 PM, Oliver Eichler wrote:
>> [Issue #438] Partially: Support for PROJ 6.0.0
> 
> cmake/Modules/FindPROJ.cmake along with a bunch of other CMake files
> were removed, and find_package(PROJ4) is now used, but that fails
> because neither PROJ4Config.cmake nor proj4-config.cmake are provided by
> the libproj-dev package.
> 
> FindPROJ.cmake should be reinstated.

Adding FindPROJ4.cmake instead is better.

The attached patches fix the configure failures for the Debian package.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1
Description: Add FindPROJ4.cmake.
Origin: https://salsa.debian.org/debian/openorienteering-mapper/raw/debian/0.8.4-1/cmake/FindPROJ4.cmake

--- /dev/null
+++ b/cmake/Modules/FindPROJ4.cmake
@@ -0,0 +1,152 @@
+#.rst:
+# FindPROJ4
+# --------
+#
+# Find the proj includes and library.
+#
+# IMPORTED Targets
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines :prop_tgt:`IMPORTED` target ``PROJ4::proj``,
+# if Proj.4 has been found.
+#
+# Result Variables
+# ^^^^^^^^^^^^^^^^
+#
+# This module defines the following variables:
+#
+# ::
+#
+#   PROJ4_INCLUDE_DIRS   - where to find proj_api.h, etc.
+#   PROJ4_LIBRARIES      - List of libraries when using libproj.
+#   PROJ4_FOUND          - True if libproj found.
+#
+# ::
+#
+#   PROJ4_VERSION        - The version of libproj found (x.y.z)
+#   PROJ4_VERSION_MAJOR  - The major version of libproj
+#   PROJ4_VERSION_MINOR  - The minor version of libproj
+#   PROJ4_VERSION_PATCH  - The patch version of libproj
+#   PROJ4_VERSION_TWEAK  - always 0
+#   PROJ4_VERSION_COUNT  - The number of version components, always 3
+#
+# Hints
+# ^^^^^
+#
+# A user may set ``PROJ4_ROOT`` to a libproj installation root to tell this
+# module where to look exclusively.
+
+#=============================================================================
+# Copyright 2016 Kai Pastor
+#
+#
+# This file was derived from CMake 3.5's module FindZLIB.cmake
+# which has the following terms:
+#
+# Copyright 2001-2011 Kitware, Inc.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright notice,
+#   this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright notice,
+#   this list of conditions and the following disclaimer in the documentation
+#   and/or other materials provided with the distribution.
+#
+# * The names of Kitware, Inc., the Insight Consortium, or the names of
+#   any consortium members, or of any contributors, may not be used to
+#   endorse or promote products derived from this software without
+#   specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS''
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#=============================================================================
+
+# Search PROJ4_ROOT exclusively if it is set.
+if(PROJ4_ROOT)
+  set(_PROJ4_SEARCH PATHS ${PROJ4_ROOT} NO_DEFAULT_PATH)
+else()
+  set(_PROJ4_SEARCH)
+endif()
+
+find_path(PROJ4_INCLUDE_DIR NAMES proj_api.h ${_PROJ4_SEARCH} PATH_SUFFIXES include)
+mark_as_advanced(PROJ4_INCLUDE_DIR)
+
+if(PROJ4_INCLUDE_DIR AND EXISTS "${PROJ4_INCLUDE_DIR}/proj_api.h")
+    file(STRINGS "${PROJ4_INCLUDE_DIR}/proj_api.h" PROJ4_H REGEX "^#define PJ_VERSION [0-9]+$")
+
+    string(REGEX REPLACE "^.*PJ_VERSION ([0-9]).*$" "\\1" PROJ4_VERSION_MAJOR "${PROJ4_H}")
+    string(REGEX REPLACE "^.*PJ_VERSION [0-9]([0-9]).*$" "\\1" PROJ4_VERSION_MINOR  "${PROJ4_H}")
+    string(REGEX REPLACE "^.*PJ_VERSION [0-9][0-9]([0-9]).*$" "\\1" PROJ4_VERSION_PATCH "${PROJ4_H}")
+    set(PROJ4_VERSION "${PROJ4_VERSION_MAJOR}.${PROJ4_VERSION_MINOR}.${PROJ4_VERSION_PATCH}")
+    set(PROJ4_VERSION_COUNT 3)
+endif()
+
+# Allow PROJ4_LIBRARY to be set manually, as the location of the proj library
+if(NOT PROJ4_LIBRARY)
+  set(PROJ4_NAMES proj)
+  set(PROJ4_NAMES_DEBUG projd)
+  if(WIN32 AND DEFINED PROJ4_VERSION_MAJOR AND DEFINED PROJ4_VERSION_MINOR)
+	  list(APPEND PROJ4_NAMES proj_${PROJ4_VERSION_MAJOR}_${PROJ4_VERSION_MINOR})
+	  list(APPEND PROJ4_NAMES projd_${PROJ4_VERSION_MAJOR}_${PROJ4_VERSION_MINOR})
+  endif()
+  find_library(PROJ4_LIBRARY_RELEASE NAMES ${PROJ4_NAMES} ${_PROJ4_SEARCH} PATH_SUFFIXES lib)
+  find_library(PROJ4_LIBRARY_DEBUG NAMES ${PROJ4_NAMES_DEBUG} ${_PROJ4_SEARCH} PATH_SUFFIXES lib)
+  include(SelectLibraryConfigurations)
+  select_library_configurations(PROJ4)
+endif()
+
+# handle the QUIETLY and REQUIRED arguments and set PROJ4_FOUND to TRUE if
+# all listed variables are TRUE
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(PROJ4
+  REQUIRED_VARS
+    PROJ4_LIBRARY
+    PROJ4_INCLUDE_DIR
+  VERSION_VAR
+    PROJ4_VERSION
+)
+
+if(PROJ4_FOUND)
+    set(PROJ4_INCLUDE_DIRS ${PROJ4_INCLUDE_DIR})
+
+    if(NOT PROJ4_LIBRARIES)
+      set(PROJ4_LIBRARIES ${PROJ4_LIBRARY})
+    endif()
+
+    if(NOT TARGET PROJ4::proj)
+      add_library(PROJ4::proj UNKNOWN IMPORTED)
+      set_target_properties(PROJ4::proj PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${PROJ4_INCLUDE_DIRS}")
+
+      if(PROJ4_LIBRARY_RELEASE)
+        set_property(TARGET PROJ4::proj APPEND PROPERTY
+          IMPORTED_CONFIGURATIONS RELEASE)
+        set_target_properties(PROJ4::proj PROPERTIES
+          IMPORTED_LOCATION_RELEASE "${PROJ4_LIBRARY_RELEASE}")
+      endif()
+
+      if(PROJ4_LIBRARY_DEBUG)
+        set_property(TARGET PROJ4::proj APPEND PROPERTY
+          IMPORTED_CONFIGURATIONS DEBUG)
+        set_target_properties(PROJ4::proj PROPERTIES
+          IMPORTED_LOCATION_DEBUG "${PROJ4_LIBRARY_DEBUG}")
+      endif()
+
+      if(NOT PROJ4_LIBRARY_RELEASE AND NOT PROJ4_LIBRARY_DEBUG)
+        set_property(TARGET PROJ4::proj APPEND PROPERTY
+          IMPORTED_LOCATION "${PROJ4_LIBRARY}")
+      endif()
+    endif()
+endif()
Description: Add FindQuaZip5.cmake.
Origin: https://raw.githubusercontent.com/nomacs/nomacs/3.12/ImageLounge/cmake/FindQuaZip5.cmake

--- /dev/null
+++ b/cmake/Modules/FindQuaZip5.cmake
@@ -0,0 +1,42 @@
+# QUAZIP_FOUND               - QuaZip library was found
+# QUAZIP_INCLUDE_DIR         - Path to QuaZip include dir
+# QUAZIP_INCLUDE_DIRS        - Path to QuaZip and zlib include dir (combined from QUAZIP_INCLUDE_DIR + ZLIB_INCLUDE_DIR)
+# QUAZIP_LIBRARIES           - List of QuaZip libraries
+# QUAZIP_ZLIB_INCLUDE_DIR    - The include dir of zlib headers
+
+
+IF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES)
+	# in cache already
+	SET(QUAZIP_FOUND TRUE)
+ELSE (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES)
+    IF (Qt5Core_FOUND)
+        set(QUAZIP_LIB_VERSION_SUFFIX 5)
+    ENDIF()
+	IF (WIN32)
+		FIND_PATH(QUAZIP_LIBRARY_DIR
+			WIN32_DEBUG_POSTFIX d
+            NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll
+			HINTS "C:/Programme/" "C:/Program Files"
+			PATH_SUFFIXES QuaZip/lib
+		)
+        FIND_LIBRARY(QUAZIP_LIBRARIES NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll HINTS ${QUAZIP_LIBRARY_DIR})
+		FIND_PATH(QUAZIP_INCLUDE_DIR NAMES quazip.h HINTS ${QUAZIP_LIBRARY_DIR}/../ PATH_SUFFIXES include/quazip)
+		FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR NAMES zlib.h)
+	ELSE(WIN32)
+		FIND_PACKAGE(PkgConfig)
+		pkg_check_modules(PC_QUAZIP quazip)
+		FIND_LIBRARY(QUAZIP_LIBRARIES
+			WIN32_DEBUG_POSTFIX d
+            NAMES quazip${QUAZIP_LIB_VERSION_SUFFIX}
+			HINTS /usr/lib /usr/lib64
+		)
+		FIND_PATH(QUAZIP_INCLUDE_DIR quazip.h
+			HINTS /usr/include /usr/local/include
+			PATH_SUFFIXES quazip${QUAZIP_LIB_VERSION_SUFFIX}
+		)
+		FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR zlib.h HINTS /usr/include /usr/local/include)
+	ENDIF (WIN32)
+	INCLUDE(FindPackageHandleStandardArgs)
+	SET(QUAZIP_INCLUDE_DIRS ${QUAZIP_INCLUDE_DIR} ${QUAZIP_ZLIB_INCLUDE_DIR})
+	find_package_handle_standard_args(QUAZIP DEFAULT_MSG  QUAZIP_LIBRARIES QUAZIP_INCLUDE_DIR QUAZIP_ZLIB_INCLUDE_DIR QUAZIP_INCLUDE_DIRS)
+ENDIF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES)
_______________________________________________
Qlandkartegt-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qlandkartegt-users

Reply via email to