From 3446ac9a82503061a5201bf34d54760c71722530 Mon Sep 17 00:00:00 2001 From: Martin Dobias Date: Mon, 11 Mar 2024 12:59:05 +0100 Subject: [PATCH] linux sdk fixes: qt6keychain, libkml, linking order qt6keychain on linux was using libsecret which had the issue that it was using system libsecret instead of the one from vcpkg, but we do not really need it anyway - and we can then also skip linking to Glib which was causing frequent crashes upon app start for me. app build was then failing when trying to link to libkml, which is not included in our build, so now it is explicitly disabled in gdal's portfile (should not be a problem because there's another KML driver for gdal/ogr that does not rely on libkml). the linking order for the sdk test was slightly incorrect for geos and minizip, giving me link errors (spatialite needs geos, freexl needs minizip) --- CMakeLists.txt | 4 ++-- vcpkg-overlay/ports/gdal/portfile.cmake | 1 + vcpkg-overlay/ports/qtkeychain-qt6/portfile.cmake | 1 + vcpkg-overlay/ports/qtkeychain-qt6/vcpkg.json | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0fe8e5a1..434c28e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,17 +183,17 @@ if(APPLE) target_link_libraries(merginmapsmobilesdk PRIVATE ${LIBTASN1_LIBRARY}) endif() -target_link_libraries(merginmapsmobilesdk PRIVATE GEOS::geos_c) target_link_libraries(merginmapsmobilesdk PRIVATE libzip::zip) -target_link_libraries(merginmapsmobilesdk PRIVATE unofficial::minizip::minizip) target_link_libraries(merginmapsmobilesdk PRIVATE protobuf::libprotobuf-lite) target_link_libraries(merginmapsmobilesdk PRIVATE exiv2lib exiv2-xmp) target_link_libraries(merginmapsmobilesdk PRIVATE CURL::libcurl) target_link_libraries(merginmapsmobilesdk PRIVATE expat::expat) target_link_libraries(merginmapsmobilesdk PRIVATE WebP::webp WebP::webpdemux WebP::libwebpmux WebP::webpdecoder) target_link_libraries(merginmapsmobilesdk PRIVATE ${FREEXL_LIBRARY}) +target_link_libraries(merginmapsmobilesdk PRIVATE unofficial::minizip::minizip) target_link_libraries(merginmapsmobilesdk PRIVATE ${ZLIB_LIBRARY}) target_link_libraries(merginmapsmobilesdk PRIVATE ${SPATIALINDEX_LIBRARY}) target_link_libraries(merginmapsmobilesdk PRIVATE ${SPATIALITE_LIBRARY}) +target_link_libraries(merginmapsmobilesdk PRIVATE GEOS::geos_c) target_link_libraries(merginmapsmobilesdk PRIVATE Iconv::Iconv) target_link_libraries(merginmapsmobilesdk PRIVATE unofficial::sqlite3::sqlite3) diff --git a/vcpkg-overlay/ports/gdal/portfile.cmake b/vcpkg-overlay/ports/gdal/portfile.cmake index 81fe86d5..c6ecf6d3 100644 --- a/vcpkg-overlay/ports/gdal/portfile.cmake +++ b/vcpkg-overlay/ports/gdal/portfile.cmake @@ -46,6 +46,7 @@ list(APPEND FEATURE_OPTIONS -DGDAL_USE_POPPLER=OFF) list(APPEND FEATURE_OPTIONS -DGDAL_USE_ODBC=OFF) list(APPEND FEATURE_OPTIONS -DGDAL_USE_MSSQL_ODBC=OFF) list(APPEND FEATURE_OPTIONS -DGDAL_USE_ZSTD=OFF) +list(APPEND FEATURE_OPTIONS -DGDAL_USE_LIBKML=OFF) # Compatibility with older Android versions https://github.com/OSGeo/gdal/pull/5941 if(VCPKG_TARGET_IS_ANDROID AND ANRDOID_PLATFORM VERSION_LESS 24 AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")) diff --git a/vcpkg-overlay/ports/qtkeychain-qt6/portfile.cmake b/vcpkg-overlay/ports/qtkeychain-qt6/portfile.cmake index 8709e98d..2f91b38f 100644 --- a/vcpkg-overlay/ports/qtkeychain-qt6/portfile.cmake +++ b/vcpkg-overlay/ports/qtkeychain-qt6/portfile.cmake @@ -24,6 +24,7 @@ vcpkg_cmake_configure( -DBUILD_TOOLS=OFF -DWITH_nss_PLUGIN=OFF -DWITH_pkcs11_PLUGIN=OFF + -DLIBSECRET_SUPPORT=OFF ) vcpkg_cmake_install() diff --git a/vcpkg-overlay/ports/qtkeychain-qt6/vcpkg.json b/vcpkg-overlay/ports/qtkeychain-qt6/vcpkg.json index 7a802c66..0af38223 100644 --- a/vcpkg-overlay/ports/qtkeychain-qt6/vcpkg.json +++ b/vcpkg-overlay/ports/qtkeychain-qt6/vcpkg.json @@ -8,7 +8,7 @@ "dependencies": [ { "name": "libsecret", - "platform": "!(windows | uwp | osx | android | ios)" + "platform": "!(windows | uwp | osx | android | ios | linux)" }, { "name": "vcpkg-cmake",