-
Notifications
You must be signed in to change notification settings - Fork 6.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[proj, proj4] Update to PROJ 9.0.0 & make proj the regular port (#23186)
* Update to PROJ 9.0.0 & make proj the regular port * Consolidate files in share, move data to subdir * Update versions * Update proj to 9.0.0 RC2 * Add license fields * Update versions * Update to PROJ 9.0.0 release * Update versions * Update versions
- Loading branch information
Showing
24 changed files
with
200 additions
and
205 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,69 @@ | ||
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) | ||
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO OSGeo/PROJ | ||
REF 9.0.0 | ||
SHA512 f11a20e9f9615c513755f54ac400cc2e144e40caa91f616c8f640aef9caf779487dc94927b3a4b57b15a595c17b70636b872d9a77d7baaf912b1a507004e6520 | ||
HEAD_REF master | ||
PATCHES | ||
fix-win-output-name.patch | ||
fix-proj4-targets-cmake.patch | ||
tools-cmake.patch | ||
) | ||
|
||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS | ||
FEATURES | ||
net ENABLE_CURL | ||
tiff ENABLE_TIFF | ||
tools BUILD_APPS | ||
) | ||
|
||
vcpkg_list(SET TOOL_NAMES cct cs2cs geod gie invgeod invproj proj projinfo projsync) | ||
if("tools" IN_LIST FEATURES AND NOT "net" IN_LIST FEATURES) | ||
set(BUILD_PROJSYNC OFF) | ||
vcpkg_list(APPEND FEATURE_OPTIONS -DBUILD_PROJSYNC=${BUILD_PROJSYNC}) | ||
vcpkg_list(REMOVE_ITEM TOOL_NAMES projsync) | ||
endif() | ||
|
||
find_program(EXE_SQLITE3 NAMES "sqlite3" PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools" NO_DEFAULT_PATH REQUIRED) | ||
|
||
vcpkg_cmake_configure( | ||
SOURCE_PATH "${SOURCE_PATH}" | ||
OPTIONS | ||
${FEATURE_OPTIONS} | ||
-DNLOHMANN_JSON=external | ||
-DPROJ_LIB_SUBDIR=lib | ||
-DPROJ_INCLUDE_SUBDIR=include | ||
-DPROJ_DATA_SUBDIR=share/${PORT}/data | ||
-DBUILD_TESTING=OFF | ||
"-DEXE_SQLITE3=${EXE_SQLITE3}" | ||
) | ||
|
||
vcpkg_cmake_install() | ||
|
||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") | ||
# Enforce consistency with src/lib_proj.cmake build time configuration. | ||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/proj.h" | ||
"#ifndef PROJ_DLL" | ||
"#ifndef PROJ_DLL\n# define PROJ_DLL\n#elif 0" | ||
) | ||
endif() | ||
|
||
vcpkg_cmake_config_fixup(PACKAGE_NAME proj4 CONFIG_PATH lib/cmake/proj4 DO_NOT_DELETE_PARENT_CONFIG_PATH) | ||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/proj) | ||
|
||
if ("tools" IN_LIST FEATURES) | ||
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) | ||
endif () | ||
|
||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") | ||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") | ||
|
||
vcpkg_copy_pdbs() | ||
|
||
vcpkg_fixup_pkgconfig() | ||
if(NOT DEFINED VCPKG_BUILD_TYPE AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) | ||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/proj.pc" " -lproj" " -lproj_d") | ||
endif() | ||
|
||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) |
10 changes: 5 additions & 5 deletions
10
ports/proj4/tools-cmake.patch → ports/proj/tools-cmake.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
The package proj4 provides CMake targets: | ||
The package proj provides CMake targets: | ||
|
||
find_package(PROJ CONFIG REQUIRED) | ||
target_link_libraries(main PRIVATE PROJ::proj) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,57 @@ | ||
{ | ||
"name": "proj", | ||
"version-string": "0", | ||
"port-version": 1, | ||
"description": "a stub package that pulls in proj4. Do not depend on this package.", | ||
"version": "9.0.0", | ||
"description": "PROJ library for cartographic projections", | ||
"homepage": "https://proj.org/", | ||
"license": "MIT", | ||
"dependencies": [ | ||
"proj4" | ||
] | ||
"nlohmann-json", | ||
{ | ||
"name": "sqlite3", | ||
"default-features": false | ||
}, | ||
{ | ||
"name": "sqlite3", | ||
"host": true, | ||
"features": [ | ||
"tool" | ||
] | ||
}, | ||
{ | ||
"name": "vcpkg-cmake", | ||
"host": true | ||
}, | ||
{ | ||
"name": "vcpkg-cmake-config", | ||
"host": true | ||
} | ||
], | ||
"default-features": [ | ||
"net", | ||
"tiff" | ||
], | ||
"features": { | ||
"net": { | ||
"description": "Enable network support", | ||
"dependencies": [ | ||
"curl" | ||
] | ||
}, | ||
"tiff": { | ||
"description": "Enable TIFF support to read some grids", | ||
"dependencies": [ | ||
{ | ||
"name": "tiff", | ||
"default-features": false, | ||
"features": [ | ||
"lzma", | ||
"zip" | ||
] | ||
} | ||
] | ||
}, | ||
"tools": { | ||
"description": "Build tools" | ||
} | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,70 +1 @@ | ||
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO OSGeo/PROJ | ||
REF 8.2.1 | ||
SHA512 8af4c41320e3fd60af3bfa89a89fd1bb22461786a4288a5873d82f90c51eaef021f539b6a6bcc8e393f786a84ea3747a75d80d95e620f20ef2a353f1a90b74bc | ||
HEAD_REF master | ||
PATCHES | ||
fix-win-output-name.patch | ||
fix-proj4-targets-cmake.patch | ||
tools-cmake.patch | ||
pkgconfig.patch | ||
) | ||
|
||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS | ||
FEATURES | ||
net ENABLE_CURL | ||
tiff ENABLE_TIFF | ||
tools BUILD_APPS | ||
) | ||
|
||
vcpkg_list(SET TOOL_NAMES cct cs2cs geod gie invgeod invproj proj projinfo projsync) | ||
if("tools" IN_LIST FEATURES AND NOT "net" IN_LIST FEATURES) | ||
set(BUILD_PROJSYNC OFF) | ||
vcpkg_list(APPEND FEATURE_OPTIONS -DBUILD_PROJSYNC=${BUILD_PROJSYNC}) | ||
vcpkg_list(REMOVE_ITEM TOOL_NAMES projsync) | ||
endif() | ||
|
||
find_program(EXE_SQLITE3 NAMES "sqlite3" PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools" NO_DEFAULT_PATH REQUIRED) | ||
|
||
vcpkg_cmake_configure( | ||
SOURCE_PATH "${SOURCE_PATH}" | ||
OPTIONS | ||
${FEATURE_OPTIONS} | ||
-DNLOHMANN_JSON=external | ||
-DPROJ_LIB_SUBDIR=lib | ||
-DPROJ_INCLUDE_SUBDIR=include | ||
-DPROJ_DATA_SUBDIR=share/${PORT} | ||
-DBUILD_TESTING=OFF | ||
"-DEXE_SQLITE3=${EXE_SQLITE3}" | ||
) | ||
|
||
vcpkg_cmake_install() | ||
|
||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") | ||
# Enforce consistency with src/lib_proj.cmake build time configuration. | ||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/proj.h" | ||
"#ifndef PROJ_DLL" | ||
"#ifndef PROJ_DLL\n# define PROJ_DLL\n#elif 0" | ||
) | ||
endif() | ||
|
||
vcpkg_cmake_config_fixup(PACKAGE_NAME PROJ CONFIG_PATH lib/cmake/proj DO_NOT_DELETE_PARENT_CONFIG_PATH) | ||
vcpkg_cmake_config_fixup(PACKAGE_NAME PROJ4 CONFIG_PATH lib/cmake/proj4) | ||
|
||
if ("tools" IN_LIST FEATURES) | ||
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN) | ||
endif () | ||
|
||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") | ||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") | ||
|
||
vcpkg_copy_pdbs() | ||
|
||
vcpkg_fixup_pkgconfig() | ||
if(NOT DEFINED VCPKG_BUILD_TYPE AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) | ||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/proj.pc" " -lproj" " -lproj_d") | ||
endif() | ||
|
||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) | ||
SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) |
Oops, something went wrong.