[gdal] Update to 3.5.1, build with CMake#22392
Conversation
|
Why the hell are they inspecting |
Too early for such negative phrases. The CMake build system is adopted from one of two forks that tried that as an individiual effort. Don't expect best practice. It will remain experimental with GDAL 3.5. This community is still learning CMake. ... but important to point out such issues now. For exporting linker flags to pc files, I don't even see a common practice in general. That's why we have so mucht work in getting pc files right in vcpkg. FTR, I had to patch this section because the vcpkg wrapper for |
make some noise in |
|
Initial build: https://dev.azure.com/vcpkg/public/_build/results?buildId=65617&view=results |
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
All manifest files must be formatted
./vcpkg format-manifest ports/*/vcpkg.json
Diff
diff --git a/ports/gdal/vcpkg.json b/ports/gdal/vcpkg.json
index 87cc790..6d52201 100644
--- a/ports/gdal/vcpkg.json
+++ b/ports/gdal/vcpkg.json
@@ -6,8 +6,8 @@
"supports": "!uwp",
"dependencies": [
{
- "name": "json-c",
- "$platform": "!windows | mingw"
+ "$platform": "!windows | mingw",
+ "name": "json-c"
},
"libgeotiff",
"libiconv",
@@ -46,18 +46,18 @@
}
]
},
- "geos": {
- "description": "Enable GEOS support",
- "dependencies": [
- "geos"
- ]
- },
"freexl": {
"description": "Enable FREEXL support",
"dependencies": [
"freexl"
]
},
+ "geos": {
+ "description": "Enable GEOS support",
+ "dependencies": [
+ "geos"
+ ]
+ },
"hdf5": {
"description": "Enable HDF5 support",
"dependencies": [
@@ -98,6 +98,14 @@
"description": "Core dependencies and features for which this port doesn't offer individual control at the moment",
"dependencies": [
"expat",
+ {
+ "name": "gdal",
+ "default-features": false,
+ "features": [
+ "curl",
+ "geos"
+ ]
+ },
"giflib",
"libjpeg-turbo",
"liblzma",
@@ -108,15 +116,7 @@
"pcre2",
"sqlite3",
"tiff",
- "zstd",
- {
- "name": "gdal",
- "default-features": false,
- "features": [
- "curl",
- "geos"
- ]
- }
+ "zstd"
]
},
"supported-default-features": {PRs must add only one version and must not modify any published versions
When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.
Error: Local changes detected for osgearth but no changes to version or port version.
-- Version: 3.2#3
-- Old SHA: 2e3d8cf49728cdb23060f31152768a2292c24ab8
-- New SHA: c4672b4f8933cd72d6f6f3491a71992fbd8649d6
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout b18b17865cfb6bd24620a00f30691be6775abb96 -- versions
./vcpkg x-add-version --allDiff
diff --git a/versions/baseline.json b/versions/baseline.json
index 89788d0..1f21f3d 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -2377,7 +2377,7 @@
"port-version": 1
},
"gdal": {
- "baseline": "3.4.1",
+ "baseline": "3.5.0",
"port-version": 0
},
"gdcm": {
diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json
index dc71637..1435834 100644
--- a/versions/g-/gdal.json
+++ b/versions/g-/gdal.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "a93f30f83c9c167330057e528a42985cabacd70b",
+ "version-semver": "3.5.0",
+ "port-version": 0
+ },
{
"git-tree": "a905d07fce3cebd0d1b52809cbdf1e37cce60cf3",
"version-semver": "3.4.1",You have modified or added at least one vcpkg.json where a "license" field is missing.
If you feel able to do so, please consider adding a "license" field to the following files:
ports/gdal/vcpkg.json
Valid values for the license field are listed at https://spdx.org/licenses/
603c19e to
a53d65a
Compare
|
It seems that it reached a working state. The port still needs some work, but I plan to use this for gdal 3.5.0. |
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
PRs must add only one version and must not modify any published versions
When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.
Error: Local changes detected for osgearth but no changes to version or port version.
-- Version: 3.2#3
-- Old SHA: 2e3d8cf49728cdb23060f31152768a2292c24ab8
-- New SHA: 3f3e5b5739f5a36165b2ae9de30d4e9aeceeb94f
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout 07e508359ca5488456988191d8709722484daccd -- versions
./vcpkg x-add-version --allDiff
diff --git a/versions/baseline.json b/versions/baseline.json
index 4058e15..2216f20 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -2377,8 +2377,8 @@
"port-version": 1
},
"gdal": {
- "baseline": "3.4.1",
- "port-version": 1
+ "baseline": "3.5.0",
+ "port-version": 0
},
"gdcm": {
"baseline": "3.0.7",
diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json
index 569ea9a..df72766 100644
--- a/versions/g-/gdal.json
+++ b/versions/g-/gdal.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "562f0d79d0d90a21d7ea13c559f22a6d87b29274",
+ "version-semver": "3.5.0",
+ "port-version": 0
+ },
{
"git-tree": "b3bff053bc6f972c2c19f88047f2a5ae53f21746",
"version-semver": "3.4.1",You have modified or added at least one vcpkg.json where a "license" field is missing.
Details
If you feel able to do so, please consider adding a "license" field to the following files:
ports/gdal/vcpkg.json
Valid values for the license field can be found in the documentation
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
PRs must add only one version and must not modify any published versions
When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.
Error: Local changes detected for osgearth but no changes to version or port version.
-- Version: 3.2#3
-- Old SHA: 2e3d8cf49728cdb23060f31152768a2292c24ab8
-- New SHA: 3f3e5b5739f5a36165b2ae9de30d4e9aeceeb94f
-- Did you remember to update the version or port version?
-- Pass `--overwrite-version` to bypass this check.
***No files were updated.***
After committing all other changes, the version database must be updated
git add -u && git commit
git checkout c93faafe6d892aca636765e3a7e67797736b0b09 -- versions
./vcpkg x-add-version --allDiff
diff --git a/versions/baseline.json b/versions/baseline.json
index 0edbad2..aca7666 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -2377,8 +2377,8 @@
"port-version": 1
},
"gdal": {
- "baseline": "3.4.1",
- "port-version": 1
+ "baseline": "3.5.0",
+ "port-version": 0
},
"gdcm": {
"baseline": "3.0.7",
diff --git a/versions/g-/gdal.json b/versions/g-/gdal.json
index 569ea9a..6fc7af2 100644
--- a/versions/g-/gdal.json
+++ b/versions/g-/gdal.json
@@ -1,5 +1,10 @@
{
"versions": [
+ {
+ "git-tree": "d657b17c2ac934eb86831ac45c5486a8d0aed660",
+ "version-semver": "3.5.0",
+ "port-version": 0
+ },
{
"git-tree": "b3bff053bc6f972c2c19f88047f2a5ae53f21746",
"version-semver": "3.4.1",You have modified or added at least one vcpkg.json where a "license" field is missing.
Details
If you feel able to do so, please consider adding a "license" field to the following files:
ports/gdal/vcpkg.json
Valid values for the license field can be found in the documentation
320a31a to
f85a9c7
Compare
|
@JackBoosY It is not clear to me which question "requires author response". |
|
Please update the version info. |
Still not the official release. |
|
|
RC2 is included. |
|
Additional link libs now for |
There was a problem hiding this comment.
This is a new experimental fast check for PR issues. Please let us know if this bot is helpful!
PRs must add only one version and must not modify any published versions
When making any changes to a library, the version or port-version in vcpkg.json or CONTROL must be modified.
error: checked-in files for gdal have changed but the version was not updated
version: 3.5.1
old SHA: 1faa4583d3d9e2928d7d6d50a2937d8523340a00
new SHA: 22bf8c93a36f7421a203b633136218d2811a03f4
Did you remember to update the version or port version?
Use --overwrite-version to bypass this check
***No files were updated***
| if(TARGET PROJ::proj) | ||
| set(PROJ_LIBRARIES PROJ::proj) | ||
| - string(APPEND CONFIG_DEPENDENCIES " find_dependency(PROJ CONFIG)\n") | ||
| + string(APPEND CONFIG_PRIVATE_DEPENDENCIES " find_dependency(PROJ CONFIG)\n") |
There was a problem hiding this comment.
Oh this is is incorrect:
In geotiff-depends-debug.cmake:
set_target_properties(geotiff_library PROPERTIES
IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/debug/lib/geotiff_d_i.lib"
IMPORTED_LINK_DEPENDENT_LIBRARIES_DEBUG "PROJ::proj"
IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG "TIFF::TIFF"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/debug/bin/geotiff_d.dll"
)I'm going to fix this and the find_package name now.
|
When building Can you please confirm this? |
|
I can test x64-windows only in vcpkg CI. But wait, there was a CI run of this PR (i.e. implicitly merged against master) less than 24 hours ago, with You should set |
| if(NOT VCPKG_BUILD_TYPE) | ||
| vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/gdal/debug/bin/gdal-config" "${CURRENT_INSTALLED_DIR}" "`dirname $0`/../../../..") | ||
| endif() | ||
| vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/cpl_config.h" "#define GDAL_PREFIX \"${CURRENT_INSTALLED_DIR}\"" "") |
Updating GDAL to the latest version in vcpkg (microsoft/vcpkg#26676). Summary of the related changes: - GDAL is updated to version 3.5.2 - GDAL is now built using its new CMake build config (microsoft/vcpkg#22392) - Using GDAL's cmake build, this now correctly includes GEOS also on Linux and MacOS - Using pyogrio (including GEOS) and shapely together fails on MacOS when using a different GEOS version and if pyogrio is imported first (this is because shapely (specifically for MacOS) will use an already loaded GEOS for ctypes, while its cython code still uses the GEOS included in the wheel, giving a GEOS version mismatch _within_ different parts of shapely itself) -> avoid this issue by trying to import shapely first in our `__init__.py` - Further, the vcpkg setup of which GDAL dependencies are used has changed a bit in the refactor of the port to use GDAL's cmake build. This has some influence on which libraries are included (eg libxml2 and iconv are no longer included), see #161 (comment) for more details.
What does your PR fix?
GDAL will switch to CMake as single build system. At the moment it is experimental and not ready for production.This PR attempts to mirror the state of the new build system for testing in the context of vcpkg. In particular the static configuration in Linux isn't sufficiently tested upstream, so they will need feedback. Vcpkg eventually can get rid of divergent feature sets between Windows (
nmake) and the rest of the world (autotools).Updates GDAL to 3.5.1 (currently RC1, waiting for official release).
Switches to CMake.
Which triplets are supported/not supported? Have you updated the CI baseline?
uwp unsupported (due to missing win32 function), no.
(Actually the uwp issue only appeared very late. I have no idea why it worked before.)
Does your PR follow the maintainer guide?
yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --alland committed the result?yes