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 86 files
+1 −0 .gitattributes
+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
+42 −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
+19 −0 .github/aw/actions-lock.json
+60 −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
+91 −0 .github/docs/build-customizations.md
+117 −0 .github/docs/caller-workflows.md
+50 −0 .github/docs/release-flow.md
+99 −0 .github/docs/reusable-workflows.md
+113 −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
+12 −0 .github/wf-templates/xpinit.yml
+1 −1 .github/wf-templates/xprelease.yml
+2 −2 .github/wf-templates/xptag.yml
+3 −2 .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
+1,203 −0 .github/workflows/create-draft-release-on-tag.lock.yml
+281 −0 .github/workflows/create-draft-release-on-tag.md
+353 −0 .github/workflows/init-externpro.yml
+105 −28 .github/workflows/release-from-build.yml
+15 −25 .github/workflows/tag-release.yml
+151 −429 .github/workflows/update-externpro.yml
+0 −288 .windsurf/workflows/manifestUpdate.md
+148 −46 README.md
+63 −97 cmake/README.md
+357 −279 cmake/deps.svg
+32 −0 cmake/docs/README.md
+70 −0 cmake/docs/classified-sources.md
+27 −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
+85 −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
+108 −86 cmake/pros.cmake
+0 −106 cmake/pros.md
+72 −0 cmake/xpcfg.cmake
+1 −0 cmake/xpdeps.cmake.in
+881 −131 cmake/xpfunmac.cmake
+2 −4 cmake/xpuse.cmake.in
+1 −0 cmake/xpusext.cmake.in
+1 −1 funcs.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 4.7.1.4 tag",
"tag": "xpv4.7.1.4"
}
2 changes: 0 additions & 2 deletions .github/release-tag.yml

This file was deleted.

19 changes: 10 additions & 9 deletions .github/workflows/xpbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,18 @@ jobs:
contents: read
pull-requests: write
packages: write
uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.6
uses: externpro/externpro/.github/workflows/build-linux.yml@26.01.1
secrets:
automation_token: ${{ secrets.GHCR_TOKEN }}
with:
cmake-workflow-preset: LinuxRelease
secrets: inherit
cmake_workflow_preset_suffix: Release
macos:
uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.6
with:
cmake-workflow-preset: DarwinRelease
uses: externpro/externpro/.github/workflows/build-macos.yml@26.01.1
secrets: inherit
windows:
uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.6
with:
cmake-workflow-preset: WindowsRelease
cmake_workflow_preset_suffix: Release
windows:
uses: externpro/externpro/.github/workflows/build-windows.yml@26.01.1
secrets: inherit
with:
cmake_workflow_preset_suffix: Release
12 changes: 12 additions & 0 deletions .github/workflows/xpinit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: xpInit externpro
permissions:
contents: write
pull-requests: write
packages: write
on:
workflow_dispatch:
jobs:
init:
uses: externpro/externpro/.github/workflows/init-externpro.yml@main
secrets:
automation_token: ${{ secrets.XPRO_TOKEN }}
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.1
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.1
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 }}
19 changes: 9 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
cmake_minimum_required(VERSION 3.0.0...3.31)
cmake_minimum_required(VERSION 3.0.0...4.3)

set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES .devcontainer/cmake/xproinc.cmake)
list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

include (DetectCPPZMQVersion)
Expand All @@ -11,8 +10,8 @@ if (NOT TARGET libzmq AND NOT TARGET libzmq-static)
if(COMMAND xpFindPkg)
find_package(libzmq)
set(ZeroMQ_FOUND TRUE)
set(_libzmq ${XP_NAMESPACE}::libzmq)
set(_libzmqStatic ${XP_NAMESPACE}::libzmq-static)
set(_libzmq libzmq::libzmq)
set(_libzmqStatic libzmq::libzmq-static)
set(installTargets cppzmq-static)
else()
find_package(ZeroMQ QUIET)
Expand Down Expand Up @@ -70,15 +69,15 @@ include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

set(targetsFile ${PROJECT_NAME}Targets)
if(DEFINED XP_NAMESPACE)
xpExternPackage(NAMESPACE ${XP_NAMESPACE}
TARGETS_FILE ${targetsFile} LIBRARIES ${installTargets}
BASE v${cppzmq_VERSION} XPDIFF "patch" DEPS libzmq
if(COMMAND xpExternPackage)
xpExternPackage(TARGETS_FILE ${targetsFile} EXPORT ${PROJECT_NAME}-targets
LIBRARIES ${installTargets} DEFAULT_TARGETS cppzmq-static
BASE v${cppzmq_VERSION} XPDIFF "patch"
WEB "https://zeromq.org/" UPSTREAM "github.com/zeromq/cppzmq"
DESC "header-only C++ binding for libzmq"
LICENSE "[MPL-2.0](http://wiki.zeromq.org/area:licensing 'Mozilla Public License 2.0')"
)
set(nSpace ${XP_NAMESPACE}::)
set(nSpace ${PROJECT_NAME}::)
set(nameSpace NAMESPACE ${nSpace})
elseif(NOT DEFINED CMAKE_INSTALL_CMAKEDIR)
set(CMAKE_INSTALL_CMAKEDIR share/cmake/${PROJECT_NAME})
Expand Down Expand Up @@ -117,7 +116,7 @@ set(CMAKE_SIZEOF_VOID_P ${CPPZMQ_SIZEOF_VOID_P})
install(EXPORT ${PROJECT_NAME}-targets
FILE ${targetsFile}.cmake ${nameSpace}
DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR})
if(NOT DEFINED XP_NAMESPACE)
if(NOT COMMAND xpExternPackage)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
DESTINATION ${CPPZMQ_CMAKECONFIG_INSTALL_DIR})
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 @@ -7,7 +7,7 @@
"binaryDir": "${sourceDir}/_bld-${presetName}",
"cacheVariables": {
"CPPZMQ_BUILD_TESTS": "OFF",
"XP_NAMESPACE": "xpro"
"CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0"
}
}
],
Expand Down
7 changes: 4 additions & 3 deletions xprodeps.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
|project|license [^_l]|description [dependencies]|version|source|diff [^_d]|
|-------|-------------|--------------------------|-------|------|----------|
|<a id='cppzmq' />[cppzmq](https://zeromq.org/)|[MPL-2.0](http://wiki.zeromq.org/area:licensing 'Mozilla Public License 2.0')|header-only C++ binding for libzmq [deps: _libzmq_]| |[upstream](https://github.com/zeromq/cppzmq 'github.com/zeromq/cppzmq')| [patch]|
|<a id='libzmq' />[libzmq](https://zeromq.org/)|[MPL-2.0](http://wiki.zeromq.org/area:licensing 'Mozilla Public License 2.0')|high-performance asynchronous messaging library [deps: _libsodium_]|[xpv4.3.4.4](https://github.com/externpro/libzmq/releases/tag/xpv4.3.4.4 'release')|[repo](https://github.com/externpro/libzmq 'github.com/externpro/libzmq') [upstream](https://github.com/zeromq/libzmq 'github.com/zeromq/libzmq')|[diff](https://github.com/externpro/libzmq/compare/v4.3.4...xpv4.3.4.4 'github.com/externpro/libzmq/compare/v4.3.4...xpv4.3.4.4') [patch]|
|<a id='libsodium' />[libsodium](https://doc.libsodium.org/)|[ISC](https://doc.libsodium.org/#license 'Internet Systems Consortium License, functionally equivalent to simplified BSD and MIT licenses')|library for encryption, decryption, signatures, password hashing and more|[xpv1.0.18.233](https://github.com/externpro/libsodium/releases/tag/xpv1.0.18.233 'release')|[repo](https://github.com/externpro/libsodium 'github.com/externpro/libsodium') [upstream](https://github.com/jedisct1/libsodium 'github.com/jedisct1/libsodium')|[diff](https://github.com/externpro/libsodium/compare/aa099f5e82ae78175f9c1c48372a123cb634dd92...xpv1.0.18.233 'github.com/externpro/libsodium/compare/aa099f5e82ae78175f9c1c48372a123cb634dd92...xpv1.0.18.233') [auto]|
|<a id='libzmq' />[libzmq](https://zeromq.org/)|[MPL-2.0](http://wiki.zeromq.org/area:licensing 'Mozilla Public License 2.0')|high-performance asynchronous messaging library [deps: _libsodium_]|[xpv4.3.5.2](https://github.com/externpro/libzmq/releases/tag/xpv4.3.5.2 'release')|[repo](https://github.com/externpro/libzmq 'github.com/externpro/libzmq') [upstream](https://github.com/zeromq/libzmq 'github.com/zeromq/libzmq')|[diff](https://github.com/externpro/libzmq/compare/v4.3.5...xpv4.3.5.2 'github.com/externpro/libzmq/compare/v4.3.5...xpv4.3.5.2') [patch]|
|<a id='libsodium' />[libsodium](https://doc.libsodium.org/)|[ISC](https://doc.libsodium.org/#license 'Internet Systems Consortium License, functionally equivalent to simplified BSD and MIT licenses')|library for encryption, decryption, signatures, password hashing and more [deps: _Threads_]|[xpv1.0.22.2](https://github.com/externpro/libsodium/releases/tag/xpv1.0.22.2 'release')|[repo](https://github.com/externpro/libsodium 'github.com/externpro/libsodium') [upstream](https://github.com/jedisct1/libsodium 'github.com/jedisct1/libsodium')|[diff](https://github.com/externpro/libsodium/compare/1.0.22...xpv1.0.22.2 'github.com/externpro/libsodium/compare/1.0.22...xpv1.0.22.2') [auto]|
|<a id='Threads' />[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 2 parent-manifest versions match pinned versions.
Dependency version check: all 3 parent-manifest versions match pinned versions.

|diff |description|
|------|-----------|
Expand Down
34 changes: 23 additions & 11 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.