diff --git a/.devcontainer b/.devcontainer index 919b03d..c9ba2c3 160000 --- a/.devcontainer +++ b/.devcontainer @@ -1 +1 @@ -Subproject commit 919b03daed65ac1593aa59de47dcdd047c9025f6 +Subproject commit c9ba2c31d45c6c2b194e7fccdae408c151e0b1f9 diff --git a/.github/release-tag.json b/.github/release-tag.json new file mode 100644 index 0000000..c704be2 --- /dev/null +++ b/.github/release-tag.json @@ -0,0 +1,4 @@ +{ + "message": "xpro version 5.1.0.9 tag", + "tag": "xpv5.1.0.9" +} diff --git a/.github/release-tag.yml b/.github/release-tag.yml deleted file mode 100644 index 26ba53d..0000000 --- a/.github/release-tag.yml +++ /dev/null @@ -1,2 +0,0 @@ -tag: xpv5.1.0.8 -message: "xpro version 5.1.0.8 tag" diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml index 76b2701..a9754d1 100644 --- a/.github/workflows/xpbuild.yml +++ b/.github/workflows/xpbuild.yml @@ -14,11 +14,15 @@ jobs: contents: read pull-requests: write packages: write - uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.6 - secrets: inherit + uses: externpro/externpro/.github/workflows/build-linux.yml@26.01.2 + secrets: + automation_token: ${{ secrets.GHCR_TOKEN }} + with: {} macos: - uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.6 + uses: externpro/externpro/.github/workflows/build-macos.yml@26.01.2 secrets: inherit + with: {} windows: - uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.6 + uses: externpro/externpro/.github/workflows/build-windows.yml@26.01.2 secrets: inherit + with: {} diff --git a/.github/workflows/xprelease.yml b/.github/workflows/xprelease.yml index a2eb282..0894da4 100644 --- a/.github/workflows/xprelease.yml +++ b/.github/workflows/xprelease.yml @@ -34,7 +34,7 @@ jobs: # Upload build artifacts as release assets release-from-build: if: github.event_name == 'workflow_dispatch' - uses: externpro/externpro/.github/workflows/release-from-build.yml@25.07.6 + uses: externpro/externpro/.github/workflows/release-from-build.yml@26.01.2 with: workflow_run_url: ${{ github.event.inputs.workflow_run_url }} permissions: diff --git a/.github/workflows/xptag.yml b/.github/workflows/xptag.yml index b5ce950..17ce102 100644 --- a/.github/workflows/xptag.yml +++ b/.github/workflows/xptag.yml @@ -8,9 +8,9 @@ on: jobs: tag: if: ${{ github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'xpro' && contains(github.event.pull_request.labels.*.name, 'release:tag') }} - uses: externpro/externpro/.github/workflows/tag-release.yml@25.07.6 + uses: externpro/externpro/.github/workflows/tag-release.yml@26.01.2 with: merge_sha: ${{ github.event.pull_request.merge_commit_sha }} pr_number: ${{ github.event.pull_request.number }} secrets: - workflow_write_token: ${{ secrets.XPUPDATE_TOKEN }} + automation_token: ${{ secrets.XPRO_TOKEN }} diff --git a/.gitignore b/.gitignore index 1fc17fa..4645865 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .env _bld*/ docker-compose.override.yml +# externpro diff --git a/CMakeLists.txt b/CMakeLists.txt index 0379570..e0ac929 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,4 @@ -cmake_minimum_required(VERSION 3.31) -set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES .devcontainer/cmake/xproinc.cmake) +cmake_minimum_required(VERSION 4.3) project(libspatialite VERSION 5.1.0) option(BUILD_AUTOMAKE "build with automake" OFF) if(BUILD_AUTOMAKE) @@ -12,7 +11,11 @@ if(BUILD_AUTOMAKE) --disable-proj --disable-freexl --disable-geos3100 --disable-libxml2 --disable-minizip --disable-rttopo --disable-gcp ) else() - xpFindPkg(PKGS geos libiconv sqlite3 zlib) + xpFindPkg(PKGS geos libiconv SQLite3 zlib) + set(geosTarget geos::geos_c) + set(libiconvTarget libiconv::libiconv) + set(sqliteTarget SQLite3::SQLite3) + set(zlibTarget zlib::zlibstatic) include(cmake/configure.cmake) add_subdirectory(src) add_subdirectory(examples) diff --git a/CMakePresets.json b/CMakePresets.json index f82cfdd..28efa39 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -3,6 +3,7 @@ "include": [ ".devcontainer/cmake/presets/xpLinuxNinja.json", ".devcontainer/cmake/presets/xpDarwinNinja.json", - ".devcontainer/cmake/presets/xpWindowsVs2022.json" + ".devcontainer/cmake/presets/xpMswVs2022.json", + ".devcontainer/cmake/presets/xpMswVs2026.json" ] } diff --git a/CMakePresetsBase.json b/CMakePresetsBase.json index 4489d79..c54ade9 100644 --- a/CMakePresetsBase.json +++ b/CMakePresetsBase.json @@ -6,7 +6,7 @@ "hidden": true, "binaryDir": "${sourceDir}/_bld-${presetName}", "cacheVariables": { - "XP_NAMESPACE": "xpro" + "CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0" } } ], diff --git a/cmake/configure.cmake b/cmake/configure.cmake index 517822d..ded4d22 100644 --- a/cmake/configure.cmake +++ b/cmake/configure.cmake @@ -1,8 +1,4 @@ include(xpcfg) -set(geosTarget xpro::geos_c) -set(libiconvTarget xpro::libiconv) -set(sqliteTarget xpro::SQLite3) -set(zlibTarget xpro::zlibstatic) foreach(lib geos libiconv sqlite zlib) if(TARGET ${${lib}Target}) get_target_property(${lib}Includes ${${lib}Target} INTERFACE_INCLUDE_DIRECTORIES) diff --git a/spatialite/CMakeLists.txt b/spatialite/CMakeLists.txt index ce90037..f369bfb 100644 --- a/spatialite/CMakeLists.txt +++ b/spatialite/CMakeLists.txt @@ -1,4 +1,4 @@ set(exe spatialite) add_executable(${exe} shell.c) -target_link_libraries(${exe} PRIVATE libspatialite xpro::libiconv) +target_link_libraries(${exe} PRIVATE libspatialite ${libiconvTarget}) target_compile_definitions(${exe} PRIVATE SQLITE_OMIT_TRACE) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ab2b71c..abc368b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -403,8 +403,8 @@ list(APPEND ${lib_name}_libsrcs ${wfs_srcs}) ######################################## add_library(${lib_name} STATIC ${${lib_name}_libsrcs}) target_include_directories(${lib_name} PUBLIC $ $ $) -target_link_libraries(${lib_name} PUBLIC xpro::SQLite3 - PRIVATE xpro::geos_c xpro::libiconv xpro::zlibstatic # target_link_libraries +target_link_libraries(${lib_name} PUBLIC ${sqliteTarget} + PRIVATE ${geosTarget} ${libiconvTarget} ${zlibTarget} # target_link_libraries ) if(NOT HAVE_UNISTD_H) target_compile_definitions(${lib_name} PRIVATE YY_NO_UNISTD_H) @@ -417,15 +417,14 @@ set_target_properties(${lib_name} PROPERTIES ) ######################################## set(targetsFile ${CMAKE_PROJECT_NAME}-targets) -if(DEFINED XP_NAMESPACE) - xpExternPackage(NAMESPACE ${XP_NAMESPACE} - TARGETS_FILE ${targetsFile} LIBRARIES ${lib_name} - BASE ${CMAKE_PROJECT_VERSION} XPDIFF "auto" DEPS geos libiconv sqlite3 zlib +if(COMMAND xpExternPackage) + xpExternPackage(TARGETS_FILE ${targetsFile} + LIBRARIES ${lib_name} DEFAULT_TARGETS ${lib_name} + BASE ${CMAKE_PROJECT_VERSION} XPDIFF "auto" WEB "https://www.gaia-gis.it/fossil/libspatialite/home" DESC "extends capabilities of SQLite, enabling it to handle spatial data and perform spatial queries" LICENSE "[MPL-1.1](https://www.gaia-gis.it/fossil/libspatialite/home 'MPL tri-license: choose MPL-1.1, GPL-2.0-or-later, LGPL-2.1-or-later')" ) - set(nameSpace NAMESPACE ${XP_NAMESPACE}::) elseif(NOT DEFINED CMAKE_INSTALL_CMAKEDIR) set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake) endif() @@ -436,4 +435,4 @@ install(TARGETS ${lib_name} EXPORT ${targetsFile} ) install(FILES headers/spatialite.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(FILES ${headers_spatialite_srcs} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/spatialite) -install(EXPORT ${targetsFile} DESTINATION ${CMAKE_INSTALL_CMAKEDIR} ${nameSpace}) +install(EXPORT ${targetsFile} DESTINATION ${CMAKE_INSTALL_CMAKEDIR} NAMESPACE ${CMAKE_PROJECT_NAME}::) diff --git a/xprodeps.md b/xprodeps.md index 8b8b4d6..eedde35 100644 --- a/xprodeps.md +++ b/xprodeps.md @@ -2,11 +2,11 @@ |project|license [^_l]|description [dependencies]|version|source|diff [^_d]| |-------|-------------|--------------------------|-------|------|----------| -|[libspatialite](https://www.gaia-gis.it/fossil/libspatialite/home)|[MPL-1.1](https://www.gaia-gis.it/fossil/libspatialite/home 'MPL tri-license: choose MPL-1.1, GPL-2.0-or-later, LGPL-2.1-or-later')|extends capabilities of SQLite, enabling it to handle spatial data and perform spatial queries [deps: _geos, libiconv, sqlite3, zlib_]| | | [auto]| -|[geos](https://libgeos.org)|[LPGL-2.1](https://trac.osgeo.org/geos/ 'LGPL version 2.1')|C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software|[xpv3.13.0.6](https://github.com/externpro/geos/releases/tag/xpv3.13.0.6 'release')|[repo](https://github.com/externpro/geos 'github.com/externpro/geos') [upstream](https://github.com/libgeos/geos 'github.com/libgeos/geos')|[diff](https://github.com/externpro/geos/compare/3.13.0...xpv3.13.0.6 'github.com/externpro/geos/compare/3.13.0...xpv3.13.0.6') [patch]| -|[libiconv](https://www.gnu.org/software/libiconv/)|[LGPL-2.1](https://savannah.gnu.org/projects/libiconv/ 'LGPL version 2.1')|character set conversion library|[xpv1.18.8](https://github.com/externpro/libiconv/releases/tag/xpv1.18.8 'release')|[repo](https://github.com/externpro/libiconv 'github.com/externpro/libiconv') [upstream](https://github.com/pffang/libiconv-for-Windows/releases/tag/1.18-eed6782 'github.com/pffang/libiconv-for-Windows/releases/tag/1.18-eed6782')|[diff](https://github.com/externpro/libiconv/compare/v0...xpv1.18.8 'github.com/externpro/libiconv/compare/v0...xpv1.18.8') [bin]| -|[sqlite3](https://www.sqlite.org/index.html 'SQLite website')|[public domain](https://www.sqlite.org/copyright.html 'open-source, not open-contribution')|C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine|[xpv3.38.2.3](https://github.com/externpro/SQLite3/releases/tag/xpv3.38.2.3 'release')|[repo](https://github.com/externpro/SQLite3 'github.com/externpro/SQLite3') [upstream](https://github.com/azadkuh/sqlite-amalgamation 'github.com/azadkuh/sqlite-amalgamation')|[diff](https://github.com/externpro/SQLite3/compare/3.38.2...xpv3.38.2.3 'github.com/externpro/SQLite3/compare/3.38.2...xpv3.38.2.3') [patch]| -|[zlib](https://zlib.net 'zlib website')|[permissive](https://zlib.net/zlib_license.html 'zlib/libpng license, see https://en.wikipedia.org/wiki/Zlib_License')|compression library|[xpv1.3.1.4](https://github.com/externpro/zlib/releases/tag/xpv1.3.1.4 'release')|[repo](https://github.com/externpro/zlib 'github.com/externpro/zlib') [upstream](https://github.com/madler/zlib 'github.com/madler/zlib')|[diff](https://github.com/externpro/zlib/compare/v1.3.1...xpv1.3.1.4 'github.com/externpro/zlib/compare/v1.3.1...xpv1.3.1.4') [patch]| +|[libspatialite](https://www.gaia-gis.it/fossil/libspatialite/home)|[MPL-1.1](https://www.gaia-gis.it/fossil/libspatialite/home 'MPL tri-license: choose MPL-1.1, GPL-2.0-or-later, LGPL-2.1-or-later')|extends capabilities of SQLite, enabling it to handle spatial data and perform spatial queries [deps: _SQLite3, geos, libiconv, zlib_]| | | [auto]| +|[SQLite3](https://www.sqlite.org/index.html 'SQLite website')|[SQLite](https://www.sqlite.org/copyright.html 'public domain dedication - no license required')|C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine|[xpv3.38.2.4](https://github.com/externpro/SQLite3/releases/tag/xpv3.38.2.4 'release')|[repo](https://github.com/externpro/SQLite3 'github.com/externpro/SQLite3') [upstream](https://github.com/azadkuh/sqlite-amalgamation 'github.com/azadkuh/sqlite-amalgamation')|[diff](https://github.com/externpro/SQLite3/compare/3.38.2...xpv3.38.2.4 'github.com/externpro/SQLite3/compare/3.38.2...xpv3.38.2.4') [patch]| +|[geos](https://libgeos.org)|[LGPL-2.1-only](https://trac.osgeo.org/geos/ 'LGPL version 2.1')|C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software|[xpv3.14.1.1](https://github.com/externpro/geos/releases/tag/xpv3.14.1.1 'release')|[repo](https://github.com/externpro/geos 'github.com/externpro/geos') [upstream](https://github.com/libgeos/geos 'github.com/libgeos/geos')|[diff](https://github.com/externpro/geos/compare/3.14.1...xpv3.14.1.1 'github.com/externpro/geos/compare/3.14.1...xpv3.14.1.1') [patch]| +|[libiconv](https://www.gnu.org/software/libiconv/)|[LGPL-2.1-or-later](https://savannah.gnu.org/projects/libiconv/ 'GNU Lesser General Public License v2.1 or later')|character set conversion library|[xpv1.18.9](https://github.com/externpro/libiconv/releases/tag/xpv1.18.9 'release')|[repo](https://github.com/externpro/libiconv 'github.com/externpro/libiconv') [upstream](https://github.com/pffang/libiconv-for-Windows/releases/tag/1.18-eed6782 'github.com/pffang/libiconv-for-Windows/releases/tag/1.18-eed6782')|[diff](https://github.com/externpro/libiconv/compare/v0...xpv1.18.9 'github.com/externpro/libiconv/compare/v0...xpv1.18.9') [bin]| +|[zlib](https://zlib.net/ 'zlib website')|[Zlib](https://zlib.net/zlib_license.html 'zlib/libpng license, see https://en.wikipedia.org/wiki/Zlib_License')|a general-purpose lossless data-compression library|[xpv1.3.2.1](https://github.com/externpro/zlib/releases/tag/xpv1.3.2.1 'release')|[repo](https://github.com/externpro/zlib 'github.com/externpro/zlib') [upstream](https://github.com/madler/zlib 'github.com/madler/zlib')|[diff](https://github.com/externpro/zlib/compare/v1.3.2...xpv1.3.2.1 'github.com/externpro/zlib/compare/v1.3.2...xpv1.3.2.1') [patch]| ![deps](xprodeps.svg 'dependencies') diff --git a/xprodeps.svg b/xprodeps.svg index ad88687..5025408 100644 --- a/xprodeps.svg +++ b/xprodeps.svg @@ -4,63 +4,63 @@ - + GG libspatialite - -libspatialite + +libspatialite - + -geos - -geos +SQLite3 + +SQLite3 - + -libspatialite->geos - - +libspatialite->SQLite3 + + - + -libiconv - -libiconv +geos + +geos - + -libspatialite->libiconv - - +libspatialite->geos + + - + -sqlite3 - -sqlite3 +libiconv + +libiconv - + -libspatialite->sqlite3 - - +libspatialite->libiconv + + zlib - -zlib + +zlib libspatialite->zlib - - + +