From 3656391819a26dc6f888dbebd9c04a043b33779b Mon Sep 17 00:00:00 2001 From: "Juergen E. Fischer" Date: Thu, 20 Feb 2025 01:45:54 +0100 Subject: [PATCH] qgis{,-qt6}-dev: include unmerged PR qgis/QGIS#60676 and qgis/QGIS#60677 as patch for nighly --- src/qgis-dev/osgeo4w/package.sh | 1 + src/qgis-dev/osgeo4w/patch | 139 ++++++++++++++++++++++++ src/qgis-ltr-dev/osgeo4w/package.sh | 1 + src/qgis-ltr/osgeo4w/package.sh | 1 + src/qgis-qt6-dev/osgeo4w/package.sh | 1 + src/qgis-qt6-dev/osgeo4w/patch | 139 ++++++++++++++++++++++++ src/qgis-qt6-rel-dev/osgeo4w/package.sh | 1 + src/qgis-qt6/osgeo4w/package.sh | 1 + src/qgis-rel-dev/osgeo4w/package.sh | 1 + src/qgis/osgeo4w/package.sh | 1 + 10 files changed, 286 insertions(+) diff --git a/src/qgis-dev/osgeo4w/package.sh b/src/qgis-dev/osgeo4w/package.sh index 6eee16ab..0d29a1f6 100644 --- a/src/qgis-dev/osgeo4w/package.sh +++ b/src/qgis-dev/osgeo4w/package.sh @@ -187,6 +187,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \ diff --git a/src/qgis-dev/osgeo4w/patch b/src/qgis-dev/osgeo4w/patch index e69de29b..14477626 100644 --- a/src/qgis-dev/osgeo4w/patch +++ b/src/qgis-dev/osgeo4w/patch @@ -0,0 +1,139 @@ +diff --git a/cmake/FindPostgres.cmake b/cmake/FindPostgres.cmake +index 29ddf2602ce..78c2f124db4 100644 +--- a/cmake/FindPostgres.cmake ++++ b/cmake/FindPostgres.cmake +@@ -23,9 +23,6 @@ if(${PostgreSQL_FOUND}) + set(POSTGRES_INCLUDE_DIR ${PostgreSQL_INCLUDE_DIRS}) + set(POSTGRES_LIBRARY ${PostgreSQL_LIBRARIES}) + set(POSTGRES_FOUND TRUE) +- if(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") +- set(HAVE_PGCONFIG TRUE) +- endif() + return() + endif() + +@@ -118,11 +115,6 @@ ENDIF(WIN32 AND NOT ANDROID) + + IF (POSTGRES_INCLUDE_DIR AND POSTGRES_LIBRARY) + SET(POSTGRES_FOUND TRUE) +- IF(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") +- SET(HAVE_PGCONFIG TRUE) +- ELSE(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") +- SET(HAVE_PGCONFIG FALSE) +- ENDIF(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") + ENDIF (POSTGRES_INCLUDE_DIR AND POSTGRES_LIBRARY) + + +diff --git a/external/untwine/untwine/windows/mapfile.hpp b/external/untwine/untwine/windows/mapfile.hpp +index abd7dcfbc08..8cbc4b93b20 100644 +--- a/external/untwine/untwine/windows/mapfile.hpp ++++ b/external/untwine/untwine/windows/mapfile.hpp +@@ -1,6 +1,6 @@ + #pragma once + +-#include ++#include + #include + #include + +diff --git a/src/analysis/CMakeLists.txt b/src/analysis/CMakeLists.txt +index c633fcd974a..751f0ee52cd 100644 +--- a/src/analysis/CMakeLists.txt ++++ b/src/analysis/CMakeLists.txt +@@ -483,6 +483,13 @@ if (WITH_PDAL AND PDAL_2_5_OR_HIGHER) + include_directories( + ${CMAKE_SOURCE_DIR}/external/untwine/api + ) ++ ++ IF(MSVC) ++ set_source_files_properties( ++ ${CMAKE_SOURCE_DIR}/external/untwine/api/QgisUntwine.cpp ++ PROPERTIES COMPILE_FLAGS "/DUNICODE" ++ ) ++ endif() + endif() + + include_directories(SYSTEM ${SPATIALINDEX_INCLUDE_DIR}) +diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt +index b042c860811..d3a4910a039 100644 +--- a/src/app/CMakeLists.txt ++++ b/src/app/CMakeLists.txt +@@ -541,7 +541,7 @@ target_compile_features(qgis_app PRIVATE cxx_std_17) + + target_compile_definitions(qgis_app PRIVATE "QT_PLUGINS_DIR=\"${QT_PLUGINS_DIR}\"") + if (POSTGRES_FOUND) +- target_compile_definitions(qgis_app PRIVATE -DPOSTGRESQL_VERSION=${PostgreSQL_VERSION_STRING}) ++ target_compile_definitions(qgis_app PRIVATE -DPOSTGRESQL_VERSION=\"${PostgreSQL_VERSION_STRING}\") + endif() + + target_include_directories(qgis_app PUBLIC +diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp +index c50a1c681e3..2e58fb609f5 100644 +--- a/src/app/qgisapp.cpp ++++ b/src/app/qgisapp.cpp +@@ -538,20 +538,10 @@ + + // Editor widgets + #include "qgseditorwidgetregistry.h" ++ + // + // Conditional Includes + // +-#ifdef HAVE_PGCONFIG +-#undef PACKAGE_BUGREPORT +-#undef PACKAGE_NAME +-#undef PACKAGE_STRING +-#undef PACKAGE_TARNAME +-#undef PACKAGE_VERSION +-#include +-#else +-#define PG_VERSION "unknown" +-#endif +- + #include + + #ifdef HAVE_SPATIALITE +@@ -5503,8 +5493,14 @@ QString QgisApp::getVersionString() + versionString += QLatin1String( "" ); + + // GDAL version +- const QString gdalVersionCompiled { GDAL_RELEASE_NAME }; +- const QString gdalVersionRunning { GDALVersionInfo( "RELEASE_NAME" ) }; ++ QString gdalVersionCompiled { GDAL_RELEASE_NAME }; ++#if defined(GDAL_RELEASE_NICKNAME) ++ gdalVersionCompiled += QStringLiteral( " \"%1\"" ).arg( QStringLiteral( GDAL_RELEASE_NICKNAME ) ); ++#endif ++ QString gdalVersionRunning { GDALVersionInfo( "RELEASE_NAME" ) }; ++ if ( atoi( GDALVersionInfo("VERSION_NUM") ) >= GDAL_COMPUTE_VERSION( 3, 11, 0 ) ) ++ gdalVersionRunning += QStringLiteral( " \"%1\"" ).arg( GDALVersionInfo("RELEASE_NICKNAME") ); ++ + versionString += QStringLiteral( "%1%2" ).arg( tr( "GDAL/OGR version" ), gdalVersionCompiled ); + if ( gdalVersionCompiled != gdalVersionRunning ) + { +@@ -5569,7 +5565,7 @@ QString QgisApp::getVersionString() + // postgres + versionString += QStringLiteral( "%1" ).arg( tr( "PostgreSQL client version" ) ); + #ifdef HAVE_POSTGRESQL +- versionString += QStringLiteral( PG_VERSION ); ++ versionString += QStringLiteral( POSTGRESQL_VERSION ); + #else + versionString += tr( "No support" ); + #endif +diff --git a/src/providers/pdal/CMakeLists.txt b/src/providers/pdal/CMakeLists.txt +index ff970745fd2..05c49ec6cfa 100644 +--- a/src/providers/pdal/CMakeLists.txt ++++ b/src/providers/pdal/CMakeLists.txt +@@ -14,6 +14,13 @@ set(PDAL_SRCS + ${CMAKE_SOURCE_DIR}/external/untwine/api/QgisUntwine.cpp + ) + ++IF(MSVC) ++ set_source_files_properties( ++ ${CMAKE_SOURCE_DIR}/external/untwine/api/QgisUntwine.cpp ++ PROPERTIES COMPILE_FLAGS "/DUNICODE" ++ ) ++endif() ++ + set(PDAL_HDRS + qgspdalprovider.h + qgspdalindexingtask.h diff --git a/src/qgis-ltr-dev/osgeo4w/package.sh b/src/qgis-ltr-dev/osgeo4w/package.sh index 997baa0d..401dff08 100644 --- a/src/qgis-ltr-dev/osgeo4w/package.sh +++ b/src/qgis-ltr-dev/osgeo4w/package.sh @@ -203,6 +203,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \ diff --git a/src/qgis-ltr/osgeo4w/package.sh b/src/qgis-ltr/osgeo4w/package.sh index bf3d6359..68cc08d5 100644 --- a/src/qgis-ltr/osgeo4w/package.sh +++ b/src/qgis-ltr/osgeo4w/package.sh @@ -134,6 +134,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \ diff --git a/src/qgis-qt6-dev/osgeo4w/package.sh b/src/qgis-qt6-dev/osgeo4w/package.sh index 31458c67..6ba03221 100644 --- a/src/qgis-qt6-dev/osgeo4w/package.sh +++ b/src/qgis-qt6-dev/osgeo4w/package.sh @@ -195,6 +195,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \ diff --git a/src/qgis-qt6-dev/osgeo4w/patch b/src/qgis-qt6-dev/osgeo4w/patch index e69de29b..14477626 100644 --- a/src/qgis-qt6-dev/osgeo4w/patch +++ b/src/qgis-qt6-dev/osgeo4w/patch @@ -0,0 +1,139 @@ +diff --git a/cmake/FindPostgres.cmake b/cmake/FindPostgres.cmake +index 29ddf2602ce..78c2f124db4 100644 +--- a/cmake/FindPostgres.cmake ++++ b/cmake/FindPostgres.cmake +@@ -23,9 +23,6 @@ if(${PostgreSQL_FOUND}) + set(POSTGRES_INCLUDE_DIR ${PostgreSQL_INCLUDE_DIRS}) + set(POSTGRES_LIBRARY ${PostgreSQL_LIBRARIES}) + set(POSTGRES_FOUND TRUE) +- if(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") +- set(HAVE_PGCONFIG TRUE) +- endif() + return() + endif() + +@@ -118,11 +115,6 @@ ENDIF(WIN32 AND NOT ANDROID) + + IF (POSTGRES_INCLUDE_DIR AND POSTGRES_LIBRARY) + SET(POSTGRES_FOUND TRUE) +- IF(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") +- SET(HAVE_PGCONFIG TRUE) +- ELSE(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") +- SET(HAVE_PGCONFIG FALSE) +- ENDIF(EXISTS "${POSTGRES_INCLUDE_DIR}/pg_config.h") + ENDIF (POSTGRES_INCLUDE_DIR AND POSTGRES_LIBRARY) + + +diff --git a/external/untwine/untwine/windows/mapfile.hpp b/external/untwine/untwine/windows/mapfile.hpp +index abd7dcfbc08..8cbc4b93b20 100644 +--- a/external/untwine/untwine/windows/mapfile.hpp ++++ b/external/untwine/untwine/windows/mapfile.hpp +@@ -1,6 +1,6 @@ + #pragma once + +-#include ++#include + #include + #include + +diff --git a/src/analysis/CMakeLists.txt b/src/analysis/CMakeLists.txt +index c633fcd974a..751f0ee52cd 100644 +--- a/src/analysis/CMakeLists.txt ++++ b/src/analysis/CMakeLists.txt +@@ -483,6 +483,13 @@ if (WITH_PDAL AND PDAL_2_5_OR_HIGHER) + include_directories( + ${CMAKE_SOURCE_DIR}/external/untwine/api + ) ++ ++ IF(MSVC) ++ set_source_files_properties( ++ ${CMAKE_SOURCE_DIR}/external/untwine/api/QgisUntwine.cpp ++ PROPERTIES COMPILE_FLAGS "/DUNICODE" ++ ) ++ endif() + endif() + + include_directories(SYSTEM ${SPATIALINDEX_INCLUDE_DIR}) +diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt +index b042c860811..d3a4910a039 100644 +--- a/src/app/CMakeLists.txt ++++ b/src/app/CMakeLists.txt +@@ -541,7 +541,7 @@ target_compile_features(qgis_app PRIVATE cxx_std_17) + + target_compile_definitions(qgis_app PRIVATE "QT_PLUGINS_DIR=\"${QT_PLUGINS_DIR}\"") + if (POSTGRES_FOUND) +- target_compile_definitions(qgis_app PRIVATE -DPOSTGRESQL_VERSION=${PostgreSQL_VERSION_STRING}) ++ target_compile_definitions(qgis_app PRIVATE -DPOSTGRESQL_VERSION=\"${PostgreSQL_VERSION_STRING}\") + endif() + + target_include_directories(qgis_app PUBLIC +diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp +index c50a1c681e3..2e58fb609f5 100644 +--- a/src/app/qgisapp.cpp ++++ b/src/app/qgisapp.cpp +@@ -538,20 +538,10 @@ + + // Editor widgets + #include "qgseditorwidgetregistry.h" ++ + // + // Conditional Includes + // +-#ifdef HAVE_PGCONFIG +-#undef PACKAGE_BUGREPORT +-#undef PACKAGE_NAME +-#undef PACKAGE_STRING +-#undef PACKAGE_TARNAME +-#undef PACKAGE_VERSION +-#include +-#else +-#define PG_VERSION "unknown" +-#endif +- + #include + + #ifdef HAVE_SPATIALITE +@@ -5503,8 +5493,14 @@ QString QgisApp::getVersionString() + versionString += QLatin1String( "" ); + + // GDAL version +- const QString gdalVersionCompiled { GDAL_RELEASE_NAME }; +- const QString gdalVersionRunning { GDALVersionInfo( "RELEASE_NAME" ) }; ++ QString gdalVersionCompiled { GDAL_RELEASE_NAME }; ++#if defined(GDAL_RELEASE_NICKNAME) ++ gdalVersionCompiled += QStringLiteral( " \"%1\"" ).arg( QStringLiteral( GDAL_RELEASE_NICKNAME ) ); ++#endif ++ QString gdalVersionRunning { GDALVersionInfo( "RELEASE_NAME" ) }; ++ if ( atoi( GDALVersionInfo("VERSION_NUM") ) >= GDAL_COMPUTE_VERSION( 3, 11, 0 ) ) ++ gdalVersionRunning += QStringLiteral( " \"%1\"" ).arg( GDALVersionInfo("RELEASE_NICKNAME") ); ++ + versionString += QStringLiteral( "%1%2" ).arg( tr( "GDAL/OGR version" ), gdalVersionCompiled ); + if ( gdalVersionCompiled != gdalVersionRunning ) + { +@@ -5569,7 +5565,7 @@ QString QgisApp::getVersionString() + // postgres + versionString += QStringLiteral( "%1" ).arg( tr( "PostgreSQL client version" ) ); + #ifdef HAVE_POSTGRESQL +- versionString += QStringLiteral( PG_VERSION ); ++ versionString += QStringLiteral( POSTGRESQL_VERSION ); + #else + versionString += tr( "No support" ); + #endif +diff --git a/src/providers/pdal/CMakeLists.txt b/src/providers/pdal/CMakeLists.txt +index ff970745fd2..05c49ec6cfa 100644 +--- a/src/providers/pdal/CMakeLists.txt ++++ b/src/providers/pdal/CMakeLists.txt +@@ -14,6 +14,13 @@ set(PDAL_SRCS + ${CMAKE_SOURCE_DIR}/external/untwine/api/QgisUntwine.cpp + ) + ++IF(MSVC) ++ set_source_files_properties( ++ ${CMAKE_SOURCE_DIR}/external/untwine/api/QgisUntwine.cpp ++ PROPERTIES COMPILE_FLAGS "/DUNICODE" ++ ) ++endif() ++ + set(PDAL_HDRS + qgspdalprovider.h + qgspdalindexingtask.h diff --git a/src/qgis-qt6-rel-dev/osgeo4w/package.sh b/src/qgis-qt6-rel-dev/osgeo4w/package.sh index 7037c5dd..1a6c8ad3 100644 --- a/src/qgis-qt6-rel-dev/osgeo4w/package.sh +++ b/src/qgis-qt6-rel-dev/osgeo4w/package.sh @@ -204,6 +204,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \ diff --git a/src/qgis-qt6/osgeo4w/package.sh b/src/qgis-qt6/osgeo4w/package.sh index 40264cde..8058d62c 100644 --- a/src/qgis-qt6/osgeo4w/package.sh +++ b/src/qgis-qt6/osgeo4w/package.sh @@ -139,6 +139,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \ diff --git a/src/qgis-rel-dev/osgeo4w/package.sh b/src/qgis-rel-dev/osgeo4w/package.sh index ee82b421..e8cb0506 100644 --- a/src/qgis-rel-dev/osgeo4w/package.sh +++ b/src/qgis-rel-dev/osgeo4w/package.sh @@ -195,6 +195,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \ diff --git a/src/qgis/osgeo4w/package.sh b/src/qgis/osgeo4w/package.sh index 27f46aaf..86849b20 100644 --- a/src/qgis/osgeo4w/package.sh +++ b/src/qgis/osgeo4w/package.sh @@ -135,6 +135,7 @@ nextbinary -D CMAKE_CONFIGURATION_TYPES="$BUILDCONF" \ -D SETUPAPI_LIBRARY="$(cygpath -am "/cygdrive/c/Program Files (x86)/Windows Kits/10/Lib/$UCRTVersion/um/x64/SetupAPI.Lib")" \ -D PROJ_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ + -D POSTGRES_INCLUDE_DIR=$(cygpath -am $O4W_ROOT/include) \ -D GEOS_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/geos_c.lib") \ -D SQLITE3_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/sqlite3_i.lib") \ -D SPATIALITE_LIBRARY=$(cygpath -am "$O4W_ROOT/lib/spatialite_i.lib") \