Skip to content

Commit

Permalink
[Proj4] Update to 7.2.0 (#14800)
Browse files Browse the repository at this point in the history
* update proj4 to 7.2.0

* fix cmake find

* add tiff,curl feature

* fix depends

* Update fix-proj4-targets-cmake.patch

* fix

* remove tiff and curl when static build

* fix windows static build error

* Update ports/proj4/portfile.cmake

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* change port version

* use find_dependency instead of find_package

* Update fix-proj4-targets-cmake.patch

* Update fix-proj4-targets-cmake.patch

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
  • Loading branch information
longhuan2018 and JackBoosY committed Dec 1, 2020
1 parent 5d813f3 commit 629acdf
Show file tree
Hide file tree
Showing 13 changed files with 81 additions and 121 deletions.
2 changes: 1 addition & 1 deletion ports/libspatialite/CONTROL
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Source: libspatialite
Version: 4.3.0a
Port-Version: 6
Port-Version: 7
Homepage: https://www.gaia-gis.it/gaia-sins/libspatialite-sources
Description: SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
Build-Depends: libxml2, sqlite3, geos, proj4, zlib, freexl, libiconv
Expand Down
4 changes: 2 additions & 2 deletions ports/libspatialite/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ if (VCPKG_TARGET_IS_WINDOWS)
${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \
${LIBXML2_LIBS_DBG} \
${GEOS_LIBS_DBG} \
${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib"
${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib ole32.lib shell32.lib"
)
set(LIBS_ALL_REL
"${CURRENT_INSTALLED_DIR}/lib/iconv.lib \
Expand All @@ -54,7 +54,7 @@ if (VCPKG_TARGET_IS_WINDOWS)
${CURRENT_INSTALLED_DIR}/lib/zlib.lib \
${LIBXML2_LIBS_REL} \
${GEOS_LIBS_REL} \
${CURRENT_INSTALLED_DIR}/lib/proj.lib"
${CURRENT_INSTALLED_DIR}/lib/proj.lib ole32.lib shell32.lib"
)

################
Expand Down
11 changes: 7 additions & 4 deletions ports/proj4/CONTROL
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
Source: proj4
Version: 6.3.1
Port-Version: 3
Version: 7.2.0
Homepage: https://github.com/OSGeo/PROJ
Description: PROJ.4 library for cartographic projections
Build-Depends: sqlite3[core]
Default-Features: database
Default-Features: database,tiff

Feature: tiff
Build-Depends: tiff
Description: Enable TIFF support to read some grids

Feature: database
Build-Depends: sqlite3[tool] (!uwp&!arm)
Description: generate database

Feature: tools
Build-Depends:
Build-Depends: curl
Description: generate tools
28 changes: 0 additions & 28 deletions ports/proj4/disable-export-namespace.patch

This file was deleted.

8 changes: 4 additions & 4 deletions ports/proj4/disable-projdb-with-arm-uwp.patch
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9213990..f51cc5e 100644
index 7d736d129..93d7801dd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -224,7 +224,9 @@ set(CMAKECONFIGDIR "${DEFAULT_CMAKEDIR}"
include_directories(${PROJ4_SOURCE_DIR}/src)
@@ -269,7 +269,9 @@ endif()
################################################################################
include_directories(${PROJ_SOURCE_DIR}/src)

message(STATUS "")
-add_subdirectory(data)
+if(BUILD_PROJ_DATABASE)
+ add_subdirectory(data)
Expand Down
18 changes: 0 additions & 18 deletions ports/proj4/fix-linux-build.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c617912..bed0428 100644
index 7d736d129..2be8f8be9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,7 +122,23 @@ if(NOT EXE_SQLITE3)
@@ -129,7 +129,22 @@ if(NOT EXE_SQLITE3)
message(SEND_ERROR "sqlite3 binary not found!")
endif()

-find_package(Sqlite3 REQUIRED)
+#find_package(Sqlite3 REQUIRED)
+find_package(unofficial-sqlite3 CONFIG REQUIRED)
+if(unofficial-sqlite3_FOUND)
+ set(SQLITE3_FOUND true)
Expand All @@ -27,31 +26,43 @@ index c617912..bed0428 100644
if(NOT SQLITE3_FOUND)
message(SEND_ERROR "sqlite3 dependency not found!")
endif()
@@ -171,6 +186,7 @@ if(ENABLE_CURL)
find_package(CURL REQUIRED)
if(CURL_FOUND)
set(CURL_ENABLED TRUE)
+ set(CURL_LIBRARY CURL::libcurl)
else()
message(SEND_ERROR "curl dependency not found!")
endif()

diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 92197c8..ab65de7 100644
index c790fa4a8..6653a28b9 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -25,6 +25,10 @@ else ()
endif ()
@@ -95,6 +95,10 @@ endif ()

string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER)
+set(FIND_DEPENDENCY_SQLITE3 "")
+if(NOT BUILD_LIBPROJ_SHARED)
+ set(FIND_DEPENDENCY_SQLITE3 "find_package(unofficial-sqlite3 CONFIG REQUIRED)")
+endif()
configure_file(project-config.cmake.in project-config.cmake @ONLY)
configure_file(project-config-version.cmake.in
project-config-version.cmake @ONLY)
foreach (PROJECT_VARIANT_NAME ${PROJECT_NAME} ${PROJECT_LEGACY_NAME})
string (TOLOWER "${PROJECT_VARIANT_NAME}" PROJECT_VARIANT_LOWER)
+ set(FIND_DEPENDENCY_SQLITE3 "find_dependency(unofficial-sqlite3 CONFIG)")
+ if(CURL_ENABLED)
+ set(FIND_DEPENDENCY_CURL "find_dependency(CURL CONFIG)")
+ endif()
set (CMAKECONFIGSUBDIR "${CMAKECONFIGDIR}/${PROJECT_VARIANT_LOWER}")
# proj-config.cmake for the install tree. It's installed in
# ${CMAKECONFIGSUBDIR} and @PROJECT_ROOT_DIR@ is the relative

diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in
index 9a52b3b..295d95d 100644
index 23f997abd..8baef00f0 100644
--- a/cmake/project-config.cmake.in
+++ b/cmake/project-config.cmake.in
@@ -13,6 +13,8 @@ message (STATUS "Reading ${CMAKE_CURRENT_LIST_FILE}")
message (STATUS
"@PROJECT_NAME@ configuration, version ${@PROJECT_NAME@_VERSION}")

+@FIND_DEPENDENCY_SQLITE3@
@@ -7,6 +7,10 @@
# @PROJECT_VARIANT_NAME@_LIBRARY_DIRS = /usr/local/lib
# @PROJECT_VARIANT_NAME@_BINARY_DIRS = /usr/local/bin
# @PROJECT_VARIANT_NAME@_VERSION = 4.9.1 (for example)
+include(CMakeFindDependencyMacro)
+
+@FIND_DEPENDENCY_SQLITE3@
+@FIND_DEPENDENCY_CURL@

# Tell the user project where to find our headers and libraries
get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
get_filename_component (_ROOT "${_DIR}/@PROJECT_ROOT_DIR@" ABSOLUTE)
13 changes: 0 additions & 13 deletions ports/proj4/fix-sqlite-dependency-export.patch

This file was deleted.

8 changes: 4 additions & 4 deletions ports/proj4/fix-win-output-name.patch
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
diff --git a/cmake/ProjUtilities.cmake b/cmake/ProjUtilities.cmake
index 1a2b605..cf62f02 100644
index 6f43edb5c..1ed89d597 100644
--- a/cmake/ProjUtilities.cmake
+++ b/cmake/ProjUtilities.cmake
@@ -104,7 +104,7 @@ function(proj_target_output_name TARGET_NAME OUTPUT_NAME)
@@ -51,7 +51,7 @@ function(proj_target_output_name TARGET_NAME OUTPUT_NAME)

# On Windows, ABI version is specified using binary file name suffix.
# On Unix, suffix is empty and SOVERSION is used instead.
- if(WIN32)
+ if(0)
string(LENGTH "${${PROJECT_INTERN_NAME}_ABI_VERSION}" abilen)
string(LENGTH "${${PROJECT_NAME}_ABI_VERSION}" abilen)
if(abilen GREATER 0)
set(SUFFIX "_${${PROJECT_INTERN_NAME}_ABI_VERSION}")
set(SUFFIX "_${${PROJECT_NAME}_ABI_VERSION}")
42 changes: 24 additions & 18 deletions ports/proj4/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,35 +1,42 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO OSGeo/PROJ
REF 6.3.1
SHA512 ec5a2b61b12d3d3ec2456b9e742cf7be98767889c4759334e60276f609054fa8eb59f13f07af38e69e9ee7b6f2b9542e2d5d7806726ce5616062af4de626c6fa
REF 7.2.0
SHA512 65dfca92b7890a9ffa78f48da443045069a250e2974dcf564fa23ffc297f87235b669983b39906352bd8eb702714b98fd89a4c7beaad4ad70834993a6de85128
HEAD_REF master
PATCHES
fix-sqlite3-bin.patch
disable-export-namespace.patch
disable-projdb-with-arm-uwp.patch
fix-win-output-name.patch
fix-sqlite-dependency-export.patch
fix-linux-build.patch
use-sqlite3-config.patch
fix-proj4-targets-cmake.patch
tools-cmake.patch
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(VCPKG_BUILD_SHARED_LIBS ON)
set(EXTRA_FEATURES tiff ENABLE_TIFF tools BUILD_PROJSYNC tools ENABLE_CURL)
set(TOOL_NAMES cct cs2cs geod gie proj projinfo projsync)
else()
set(VCPKG_BUILD_SHARED_LIBS OFF)
set(TOOL_NAMES cct cs2cs geod gie proj projinfo)
endif()

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
database BUILD_PROJ_DATABASE
tools BUILD_CCT
tools BUILD_CS2CS
tools BUILD_GEOD
tools BUILD_GIE
tools BUILD_PROJ
tools BUILD_PROJINFO
database BUILD_PROJ_DATABASE
tools BUILD_CCT
tools BUILD_CS2CS
tools BUILD_GEOD
tools BUILD_GIE
tools BUILD_PROJ
tools BUILD_PROJINFO
${EXTRA_FEATURES}
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(WARNING "ENABLE_TIFF ENABLE_CURL and BUILD_PROJSYNC will be off when building static")
set(FEATURE_OPTIONS ${FEATURE_OPTIONS} -DENABLE_TIFF=OFF -DENABLE_CURL=OFF -DBUILD_PROJSYNC=OFF)
endif()

if ("database" IN_LIST FEATURES)
if (VCPKG_TARGET_IS_WINDOWS)
set(BIN_SUFFIX .exe)
Expand All @@ -56,18 +63,17 @@ vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS ${FEATURE_OPTIONS}
-DBUILD_LIBPROJ_SHARED=${VCPKG_BUILD_SHARED_LIBS}
-DPROJ_LIB_SUBDIR=lib
-DPROJ_INCLUDE_SUBDIR=include
-DPROJ_DATA_SUBDIR=share/proj4
-DPROJ_TESTS=OFF
-DPROJ_DATA_SUBDIR=share/${PORT}
-DBUILD_TESTING=OFF
-DEXE_SQLITE3=${SQLITE3_BIN_PATH}/sqlite3${BIN_SUFFIX}
)

vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/proj4)
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT})
if ("tools" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES cct cs2cs geod gie proj projinfo AUTO_CLEAN)
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
endif ()

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
Expand Down
9 changes: 4 additions & 5 deletions ports/proj4/tools-cmake.patch
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 48c785a..e2b5485 100644
index 534bc311b..f9fb0f1bb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -69,11 +69,3 @@ if(BUILD_GIE)
include(bin_gie.cmake)
set(BIN_TARGETS ${BIN_TARGETS} gie)
@@ -83,10 +83,3 @@ if(BUILD_PROJSYNC)
endif()
-


-if(MSVC OR CMAKE_CONFIGURATION_TYPES)
- if(BIN_TARGETS)
- # Add _d suffix for your debug versions of the tools
Expand Down
2 changes: 1 addition & 1 deletion ports/spatialite-tools/CONTROL
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Source: spatialite-tools
Version: 4.3.0
Port-Version: 5
Port-Version: 6
Homepage: https://www.gaia-gis.it/fossil/spatialite-tools/index
Description: Contains spatialite.exe and other command line tools to work with SpatiaLite databases (import, export, SQL queries)
Build-Depends: sqlite3, libspatialite, geos, readosm, proj4, zlib, libiconv, expat
4 changes: 2 additions & 2 deletions ports/spatialite-tools/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ set(LIBS_ALL_DBG
${EXPAT_LIBS_DBG} \
${LDIR}/debug/lib/readosm.lib \
${LDIR}/debug/lib/zlibd.lib \
${LDIR}/debug/lib/proj_d.lib"
${LDIR}/debug/lib/proj_d.lib ole32.lib shell32.lib"
)
set(LIBS_ALL_REL
"${ICONV_LIBS_REL} \
Expand All @@ -65,7 +65,7 @@ set(LIBS_ALL_REL
${EXPAT_LIBS_REL} \
${LDIR}/lib/readosm.lib \
${LDIR}/lib/zlib.lib \
${LDIR}/lib/proj.lib"
${LDIR}/lib/proj.lib ole32.lib shell32.lib"
)

if(BUILD_DEBUG_TOOLS)
Expand Down

0 comments on commit 629acdf

Please sign in to comment.