From dc91889fdd521af659184f926d6525b000278c33 Mon Sep 17 00:00:00 2001 From: Scott M Anderson Date: Thu, 2 Jul 2026 15:17:21 -0600 Subject: [PATCH 1/6] cmakeup: CMake updates, remove XP_NAMESPACE - Update minimum CMake version from 3.31 to 4.3 - Remove XP_NAMESPACE and xproinc.cmake inclusion (now part of CMakePresets) - Package name and Target Namespace now match - Make xpExternPackage conditional 'if(COMMAND' and move to end of CMakeLists.txt - Call xpExternPackage with FIND_XPRO_CMAKE because CPS unknown type "exectuble" - Auto-infer dependencies (Threads on Linux) - Add CMAKE_EXPERIMENTAL_GENERATE_SBOM in presets CMake Warning without FIND_XPRO_CMAKE (finding SQLite3 via CPS): component "SQLite3::shell_app" has unknown type "executable" and was not imported --- CMakeLists.txt | 43 +++++++++++++++++++++++-------------------- CMakePresetsBase.json | 4 ++-- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 470c0d5..fdd026c 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(SQLite3 VERSION 3.38.2 LANGUAGES C @@ -7,24 +6,6 @@ project(SQLite3 include(GNUInstallDirs) -#------------------------------------------------------------------------------ -# externpro -set(targetsFile ${PROJECT_NAME}Config) -if(DEFINED XP_NAMESPACE) - xpExternPackage(NAMESPACE ${XP_NAMESPACE} ALIAS_NAMESPACE SQLite - TARGETS_FILE ${targetsFile} LIBRARIES ${PROJECT_NAME} - BASE ${CMAKE_PROJECT_VERSION} XPDIFF "patch" FIND_THREADS - WEB "https://www.sqlite.org/index.html 'SQLite website'" UPSTREAM "github.com/azadkuh/sqlite-amalgamation" - DESC "C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine" - LICENSE "[SQLite](https://www.sqlite.org/copyright.html 'public domain dedication - no license required')" - ) - set(CMAKE_NAMESPACE ${XP_NAMESPACE}) -else() - set(debugPostfix DEBUG_POSTFIX d) - set(CMAKE_NAMESPACE SQLite) - set(CMAKE_INSTALL_CMAKEDIR cmake) -endif() - #------------------------------------------------------------------------------ # build options and optional modules: option(SQLITE_ENABLE_COLUMN_METADATA "enables column metadata" OFF) @@ -55,6 +36,10 @@ endif() #------------------------------------------------------------------------------ +if(NOT COMMAND xpExternPackage) + set(debugPostfix DEBUG_POSTFIX d) +endif() + # SQLite3 as static library: add_library(${PROJECT_NAME} STATIC sqlite3.c) set_target_properties(${PROJECT_NAME} PROPERTIES @@ -115,6 +100,24 @@ if(SQLITE_ENABLE_MATH_FUNCTIONS) endif() endif() +#------------------------------------------------------------------------------ +# externpro +set(targetsFile ${PROJECT_NAME}-targets) +if(COMMAND xpExternPackage) + xpExternPackage(TARGETS_FILE ${targetsFile} + FIND_XPRO_CMAKE CREATE_ALIASES ALIAS_NAMESPACE SQLite + EXE shell_app LIBRARIES ${PROJECT_NAME} DEFAULT_TARGETS ${PROJECT_NAME} + BASE ${CMAKE_PROJECT_VERSION} XPDIFF "patch" + WEB "https://www.sqlite.org/index.html 'SQLite website'" UPSTREAM "github.com/azadkuh/sqlite-amalgamation" + DESC "C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine" + LICENSE "[SQLite](https://www.sqlite.org/copyright.html 'public domain dedication - no license required')" + ) + set(CMAKE_NAMESPACE ${PROJECT_NAME}) +else() + set(CMAKE_NAMESPACE SQLite) + set(CMAKE_INSTALL_CMAKEDIR cmake) +endif() + #------------------------------------------------------------------------------ configure_file(sqlite3_config.h.in ${CMAKE_BINARY_DIR}/sqlite3_config.h) diff --git a/CMakePresetsBase.json b/CMakePresetsBase.json index 139de06..c812a5a 100644 --- a/CMakePresetsBase.json +++ b/CMakePresetsBase.json @@ -6,8 +6,8 @@ "hidden": true, "binaryDir": "${sourceDir}/_bld-${presetName}", "cacheVariables": { - "XP_NAMESPACE": "xpro", - "BUILD_SHELL": "ON" + "BUILD_SHELL": "ON", + "CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0" } } ], From 9d45874100bc9a1066fdb6d1a93b1a7b8865853c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Jul 2026 21:22:29 +0000 Subject: [PATCH 2/6] externpro 26.01.2-16-g17d3437 --- .devcontainer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer b/.devcontainer index 0ac4bac..17d3437 160000 --- a/.devcontainer +++ b/.devcontainer @@ -1 +1 @@ -Subproject commit 0ac4bac86f2f25110dcf941fb94820bd79c061ec +Subproject commit 17d3437ca667732898333222c9531f4fbc7e69d9 From 48010ae917d79a5380e83ee09f2972ea1e86552c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Jul 2026 21:22:29 +0000 Subject: [PATCH 3/6] sync GitHub Actions workflows --- .github/workflows/xpbuild.yml | 12 ++++++++---- .github/workflows/xprelease.yml | 2 +- .github/workflows/xptag.yml | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) 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 }} From 2096000327b45cda5a0fe4bb1a067008f9725544 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Jul 2026 21:22:29 +0000 Subject: [PATCH 4/6] update .github/release-tag.json --- .github/release-tag.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .github/release-tag.json diff --git a/.github/release-tag.json b/.github/release-tag.json new file mode 100644 index 0000000..ffac788 --- /dev/null +++ b/.github/release-tag.json @@ -0,0 +1,4 @@ +{ + "message": "xpro version 3.38.2.4 tag", + "tag": "xpv3.38.2.4" +} From b06f4c9c8ae9430ea2e013883f02cc38ad9882a4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Jul 2026 21:22:29 +0000 Subject: [PATCH 5/6] dependency updates --- xprodeps.md | 22 ++++++++++++++++++++++ xprodeps.svg | 30 ++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 xprodeps.md create mode 100644 xprodeps.svg diff --git a/xprodeps.md b/xprodeps.md new file mode 100644 index 0000000..a2826a5 --- /dev/null +++ b/xprodeps.md @@ -0,0 +1,22 @@ +# SQLite3 dependencies + +|project|license [^_l]|description [dependencies]|version|source|diff [^_d]| +|-------|-------------|--------------------------|-------|------|----------| +|[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 [deps: _Threads_]| |[upstream](https://github.com/azadkuh/sqlite-amalgamation 'github.com/azadkuh/sqlite-amalgamation')| [patch]| +|[Threads](https://cmake.org/cmake/help/latest/module/FindThreads.html)|[LGPL-2.1-or-later](https://spdx.org/licenses/LGPL-2.1-or-later.html 'GNU Lesser General Public License v2.1 or later')|Finds and determines the thread library of the system for multithreading support|[xpv1.0.4](https://github.com/externpro/Threads/releases/tag/xpv1.0.4 'release')|[repo](https://github.com/externpro/Threads 'github.com/externpro/Threads')|[diff](https://github.com/externpro/Threads/compare/v0...xpv1.0.4 'github.com/externpro/Threads/compare/v0...xpv1.0.4') [bin]| + +![deps](xprodeps.svg 'dependencies') + +Dependency version check: all 1 parent-manifest versions match pinned versions. + +|diff |description| +|------|-----------| +|patch |diff modifies/patches existing cmake| +|intro |diff introduces cmake| +|auto |diff adds cmake to replace autotools/configure/make| +|native|diff adds cmake but uses existing build system| +|bin |diff adds cmake to repackage binaries built elsewhere| +|fetch |diff adds cmake and utilizes FetchContent| + +[^_l]: see [SPDX License List](https://spdx.org/licenses/ '') for a list of commonly found licenses +[^_d]: see table above with description of diff diff --git a/xprodeps.svg b/xprodeps.svg new file mode 100644 index 0000000..63e3338 --- /dev/null +++ b/xprodeps.svg @@ -0,0 +1,30 @@ + + + + + + +GG + + +SQLite3 + +SQLite3 + + + +Threads + +Threads + + + +SQLite3->Threads + + + + + From 759a80eb3f8f2b2c0840276e3db9c74c41458605 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Jul 2026 21:22:29 +0000 Subject: [PATCH 6/6] externpro 26.01.2-16-g17d3437 updates --- .github/release-tag.yml | 2 -- CMakePresets.json | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 .github/release-tag.yml diff --git a/.github/release-tag.yml b/.github/release-tag.yml deleted file mode 100644 index 5334e57..0000000 --- a/.github/release-tag.yml +++ /dev/null @@ -1,2 +0,0 @@ -tag: xpv3.38.2.3 -message: "xpro version 3.38.2.3 tag" 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" ] }