Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer
Submodule .devcontainer updated 85 files
+65 −0 .github/actions/build-image-context-tag/action.yml
+74 −29 .github/actions/cmake-build/action.yml
+32 −0 .github/actions/compare-cmake-presets/action.yml
+201 −0 .github/actions/compare-cmake-presets/compare.py
+51 −0 .github/actions/docker-push-with-retry/action.yml
+358 −0 .github/actions/externpro-deps-configure/action.yml
+48 −0 .github/actions/externpro-validate/action.yml
+29 −0 .github/actions/gh-retry/gh-retry.sh
+79 −0 .github/actions/ghcr-access/action.yml
+44 −0 .github/actions/git-am-patches/action.yml
+19 −0 .github/actions/git-configure-bot/action.yml
+41 −0 .github/actions/labels-mgmt/action.yml
+91 −0 .github/actions/pr-close-superseded/action.yml
+116 −0 .github/actions/release-tag-intent/action.yml
+0 −8 .github/actions/sync-caller-workflows/action.yml
+241 −508 .github/actions/sync-caller-workflows/sync.sh
+79 −0 .github/docs/README.md
+34 −0 .github/docs/architecture-overview.md
+ .github/docs/assets/org_01_actions-secrets.png
+ .github/docs/assets/org_02_new-secret.png
+ .github/docs/assets/org_03_secrets-populated.png
+ .github/docs/assets/pat_01_new.png
+ .github/docs/assets/pat_02_permissions.png
+ .github/docs/assets/pat_03_generate-token.png
+ .github/docs/assets/pat_04_copy-token.png
+ .github/docs/assets/repo_01_actions-secrets.png
+ .github/docs/assets/repo_02_new-secret.png
+ .github/docs/assets/repo_03_secrets-populated.png
+130 −0 .github/docs/bootstrap.md
+91 −0 .github/docs/build-customizations.md
+111 −0 .github/docs/caller-workflows.md
+50 −0 .github/docs/release-flow.md
+91 −0 .github/docs/reusable-workflows.md
+183 −0 .github/docs/secrets-and-tokens.md
+42 −0 .github/docs/supply-chain.md
+0 −2 .github/release-tag.yml.example
+8 −4 .github/wf-templates/xpbuild.yml
+1 −1 .github/wf-templates/xprelease.yml
+13 −0 .github/wf-templates/xpsync.yml
+2 −2 .github/wf-templates/xptag.yml
+0 −12 .github/wf-templates/xpupdate.yml
+7 −288 .github/workflows/README.md
+146 −39 .github/workflows/build-linux.yml
+8 −9 .github/workflows/build-macos.yml
+24 −10 .github/workflows/build-windows.yml
+353 −0 .github/workflows/init-externpro.yml
+105 −28 .github/workflows/release-from-build.yml
+522 −0 .github/workflows/sync-externpro.yml
+15 −25 .github/workflows/tag-release.yml
+151 −429 .github/workflows/update-externpro.yml
+0 −288 .windsurf/workflows/manifestUpdate.md
+153 −46 README.md
+54 −76 cmake/README.md
+367 −289 cmake/deps.svg
+35 −0 cmake/docs/README.md
+70 −0 cmake/docs/classified-sources.md
+64 −0 cmake/docs/cmakeup.md
+54 −0 cmake/docs/dependency-provider.md
+40 −0 cmake/docs/diff-types.md
+115 −0 cmake/docs/download-and-extract.md
+127 −0 cmake/docs/extern-package.md
+125 −0 cmake/docs/how-to-adopt-externpro.md
+64 −0 cmake/docs/packaging.md
+2 −1 cmake/presets/CMakePresets.json
+4 −1 cmake/presets/xpDarwinNinja.json
+4 −1 cmake/presets/xpLinuxNinja.json
+4 −1 cmake/presets/xpLinuxNinjaTargets.json
+183 −0 cmake/presets/xpMswVs2022.json
+183 −0 cmake/presets/xpMswVs2026.json
+0 −157 cmake/presets/xpWindowsVs2019.json
+0 −180 cmake/presets/xpWindowsVs2022.json
+113 −93 cmake/pros.cmake
+0 −106 cmake/pros.md
+72 −0 cmake/xpcfg.cmake
+1 −0 cmake/xpdeps.cmake.in
+854 −127 cmake/xpfunmac.cmake
+2 −4 cmake/xpuse.cmake.in
+1 −0 cmake/xpusext.cmake.in
+1 −1 funcs.sh
+890 −0 scripts/bootstrap.sh
+89 −0 scripts/cleanup-whitespace.py
+0 −0 scripts/enable-systemctl.sh
+0 −0 scripts/git-lfs-check.sh
+0 −0 scripts/wslresolv.sh
+11 −0 xpro-dev.code-workspace
4 changes: 4 additions & 0 deletions .github/release-tag.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"message": "xpro version 5.1.0.9 tag",
"tag": "xpv5.1.0.9"
}
2 changes: 0 additions & 2 deletions .github/release-tag.yml

This file was deleted.

12 changes: 8 additions & 4 deletions .github/workflows/xpbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: {}
2 changes: 1 addition & 1 deletion .github/workflows/xprelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/xptag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.env
_bld*/
docker-compose.override.yml
# externpro
9 changes: 6 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
Expand All @@ -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)
Expand Down
3 changes: 2 additions & 1 deletion CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
]
}
2 changes: 1 addition & 1 deletion CMakePresetsBase.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"hidden": true,
"binaryDir": "${sourceDir}/_bld-${presetName}",
"cacheVariables": {
"XP_NAMESPACE": "xpro"
"CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0"
}
}
],
Expand Down
4 changes: 0 additions & 4 deletions cmake/configure.cmake
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
2 changes: 1 addition & 1 deletion spatialite/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
15 changes: 7 additions & 8 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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 $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/cmake> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/headers> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
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)
Expand All @@ -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()
Expand All @@ -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}::)
10 changes: 5 additions & 5 deletions xprodeps.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

|project|license [^_l]|description [dependencies]|version|source|diff [^_d]|
|-------|-------------|--------------------------|-------|------|----------|
|<a id='libspatialite' />[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]|
|<a id='geos' />[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]|
|<a id='libiconv' />[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]|
|<a id='sqlite3' />[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]|
|<a id='zlib' />[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]|
|<a id='libspatialite' />[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]|
|<a id='SQLite3' />[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]|
|<a id='geos' />[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]|
|<a id='libiconv' />[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]|
|<a id='zlib' />[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')

Expand Down
64 changes: 32 additions & 32 deletions xprodeps.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.