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
+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
+94 −0 .github/docs/tmate-debugging.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
+158 −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
+532 −0 .github/workflows/sync-externpro.yml
+15 −25 .github/workflows/tag-release.yml
+151 −399 .github/workflows/update-externpro.yml
+0 −288 .windsurf/workflows/manifestUpdate.md
+153 −46 README.md
+73 −61 cmake/README.md
+407 −299 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
+144 −124 cmake/pros.cmake
+0 −106 cmake/pros.md
+72 −0 cmake/xpcfg.cmake
+1 −0 cmake/xpdeps.cmake.in
+921 −134 cmake/xpfunmac.cmake
+2 −4 cmake/xpuse.cmake.in
+1 −0 cmake/xpusext.cmake.in
+1 −1 funcs.sh
+887 −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 3.9.5.4 tag",
"tag": "xpv3.9.5.4"
}
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.5
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.5
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.5
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.5
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.5
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 }}
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
cmake_minimum_required(VERSION 3.31)
set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES .devcontainer/cmake/xproinc.cmake)
cmake_minimum_required(VERSION 4.3)
project(activemq-cpp)
add_subdirectory(activemq-cpp)
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
25 changes: 18 additions & 7 deletions activemq-cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
find_package(apr REQUIRED)
find_package(openssl REQUIRED)
if(NOT DEFINED APR_LIBRARIES AND TARGET apr::apr-1)
set(APR_LIBRARIES apr::apr-1)
endif()
if(NOT DEFINED OPENSSL_LIBRARIES AND TARGET openssl::crypto AND TARGET openssl::ssl)
set(OPENSSL_LIBRARIES openssl::crypto openssl::ssl)
endif()
# determine version from configure.ac
file(STRINGS configure.ac MAJOR REGEX "^ACTIVEMQ_MAJOR_VERSION=([0-9]+)")
file(STRINGS configure.ac MINOR REGEX "^ACTIVEMQ_MINOR_VERSION=([0-9]+)")
Expand All @@ -18,12 +24,17 @@ if(has_noDeprecatedDeclarations)
endif()
set(lib activemqcpp)
set(targetsFile ${lib}-targets)
xpExternPackage(NAMESPACE ${XP_NAMESPACE}
TARGETS_FILE ${targetsFile} LIBRARIES activemqcpp
BASE ${CMAKE_PROJECT_NAME}-${AMQ_VER} XPDIFF "auto" DEPS apr openssl
WEB "http://activemq.apache.org/cms/" UPSTREAM "github.com/apache/activemq-cpp"
DESC "ActiveMQ C++ Messaging Service (CMS) client library"
LICENSE "[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html 'Apache License, Version 2.0')"
)
if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR)
set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake)
endif()
add_subdirectory(src/main)
add_subdirectory(src/examples)
if(COMMAND xpExternPackage)
xpExternPackage(TARGETS_FILE ${targetsFile}
LIBRARIES ${lib} DEFAULT_TARGETS ${lib}
BASE ${CMAKE_PROJECT_NAME}-${AMQ_VER} XPDIFF "auto"
WEB "http://activemq.apache.org/cms/" UPSTREAM "github.com/apache/activemq-cpp"
DESC "ActiveMQ C++ Messaging Service (CMS) client library"
LICENSE "[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html 'Apache License, Version 2.0')"
)
endif()
17 changes: 9 additions & 8 deletions activemq-cpp/src/main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1665,10 +1665,14 @@ target_link_libraries(${lib_name} PUBLIC ${APR_LIBRARIES} ${OPENSSL_LIBRARIES})
target_include_directories(${lib_name} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${lib_name}>
)
if(TARGET xpro::crypto)
get_target_property(defs xpro::crypto INTERFACE_COMPILE_DEFINITIONS)
string(REPLACE "OPENSSL_API_COMPAT=0x10100000L" "OPENSSL_API_COMPAT=0x00908000L" newDefs "${defs}")
set_target_properties(xpro::crypto PROPERTIES INTERFACE_COMPILE_DEFINITIONS "${newDefs}")
if(TARGET opensssl::crypto)
get_target_property(defs openssl::crypto INTERFACE_COMPILE_DEFINITIONS)
if(defs)
string(REPLACE "OPENSSL_API_COMPAT=0x10100000L" "OPENSSL_API_COMPAT=0x00908000L" newDefs "${defs}")
if(NOT newDefs STREQUAL defs)
set_target_properties(openssl::crypto PROPERTIES INTERFACE_COMPILE_DEFINITIONS "${newDefs}")
endif()
endif()
endif()
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${lib_name}
Expand All @@ -1679,7 +1683,4 @@ install(TARGETS ${lib_name} EXPORT ${targetsFile}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
if(DEFINED XP_NAMESPACE)
set(nameSpace NAMESPACE ${XP_NAMESPACE}::)
endif()
install(EXPORT ${targetsFile} DESTINATION ${CMAKE_INSTALL_CMAKEDIR} ${nameSpace})
install(EXPORT ${targetsFile} DESTINATION ${CMAKE_INSTALL_CMAKEDIR} NAMESPACE ${CMAKE_PROJECT_NAME}::)
11 changes: 6 additions & 5 deletions xprodeps.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
|project|license [^_l]|description [dependencies]|version|source|diff [^_d]|
|-------|-------------|--------------------------|-------|------|----------|
|<a id='activemq-cpp' />[activemq-cpp](http://activemq.apache.org/cms/)|[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html 'Apache License, Version 2.0')|ActiveMQ C++ Messaging Service (CMS) client library [deps: _apr, openssl_]| |[upstream](https://github.com/apache/activemq-cpp 'github.com/apache/activemq-cpp')| [auto]|
|<a id='apr' />[apr](http://apr.apache.org/)|[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html 'Apache License, Version 2.0')|Apache Portable Runtime project|[xpv1.7.6.3](https://github.com/externpro/apr/releases/tag/xpv1.7.6.3 'release')|[repo](https://github.com/externpro/apr 'github.com/externpro/apr') [upstream](https://github.com/apache/apr 'github.com/apache/apr')|[diff](https://github.com/externpro/apr/compare/1.7.6...xpv1.7.6.3 'github.com/externpro/apr/compare/1.7.6...xpv1.7.6.3') [patch(msw), auto(unix)]|
|<a id='openssl' />[openssl](http://www.openssl.org/)|[BSD-style](http://www.openssl.org/source/license.html 'dual OpenSSL and SSLeay License: both are BSD-style licenses')|Cryptography and SSL/TLS Toolkit [pvt deps: _nasm, yasm_]|[xpv1.1.1l.4](https://github.com/externpro/openssl/releases/tag/xpv1.1.1l.4 'release')|[repo](https://github.com/externpro/openssl 'github.com/externpro/openssl') [upstream](https://github.com/openssl/openssl 'github.com/openssl/openssl')|[diff](https://github.com/externpro/openssl/compare/OpenSSL_1_1_1l...xpv1.1.1l.4 'github.com/externpro/openssl/compare/OpenSSL_1_1_1l...xpv1.1.1l.4') [intro]|
|<a id='nasm' />[nasm](https://www.nasm.us/)|[BSD-2-Clause](https://www.nasm.us/ 'BSD 2-Clause Simplified License')|The Netwide Assembler - an 80x86 and x86-64 assembler (MSW-only)|[xpv2.14.02.4](https://github.com/externpro/nasm/releases/tag/xpv2.14.02.4 'release')|[repo](https://github.com/externpro/nasm 'github.com/externpro/nasm')|[diff](https://github.com/externpro/nasm/compare/v0...xpv2.14.02.4 'github.com/externpro/nasm/compare/v0...xpv2.14.02.4') [bin]|
|<a id='yasm' />[yasm](http://yasm.tortall.net/)|[BSD-2-Clause](https://github.com/yasm/yasm/blob/v1.3.0/COPYING 'BSD 2-Clause Simplified License')|assembler and disassembler for the Intel x86 architecture|[xpv1.3.0.3](https://github.com/externpro/yasm/releases/tag/xpv1.3.0.3 'release')|[repo](https://github.com/externpro/yasm 'github.com/externpro/yasm') [upstream](https://github.com/yasm/yasm 'github.com/yasm/yasm')|[diff](https://github.com/externpro/yasm/compare/v1.3.0...xpv1.3.0.3 'github.com/externpro/yasm/compare/v1.3.0...xpv1.3.0.3') [patch]|
|<a id='apr' />[apr](http://apr.apache.org/)|[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0.html 'Apache License, Version 2.0')|Apache Portable Runtime project [deps: _Threads_]|[xpv1.7.6.4](https://github.com/externpro/apr/releases/tag/xpv1.7.6.4 'release')|[repo](https://github.com/externpro/apr 'github.com/externpro/apr') [upstream](https://github.com/apache/apr 'github.com/apache/apr')|[diff](https://github.com/externpro/apr/compare/1.7.6...xpv1.7.6.4 'github.com/externpro/apr/compare/1.7.6...xpv1.7.6.4') [patch[msw], auto[unix]]|
|<a id='openssl' />[openssl](http://www.openssl.org/)|[OpenSSL AND SSLeay](http://www.openssl.org/source/license.html 'dual OpenSSL and SSLeay License: both apply')|Cryptography and SSL/TLS Toolkit [deps: _Threads_] [pvt deps: _nasm, yasm_]|[xpv1.1.1l.5](https://github.com/externpro/openssl/releases/tag/xpv1.1.1l.5 'release')|[repo](https://github.com/externpro/openssl 'github.com/externpro/openssl') [upstream](https://github.com/openssl/openssl 'github.com/openssl/openssl')|[diff](https://github.com/externpro/openssl/compare/OpenSSL_1_1_1l...xpv1.1.1l.5 'github.com/externpro/openssl/compare/OpenSSL_1_1_1l...xpv1.1.1l.5') [intro]|
|<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]|
|<a id='nasm' />[nasm](https://www.nasm.us/)|[BSD-2-Clause](https://www.nasm.us/ 'BSD 2-Clause Simplified License')|The Netwide Assembler - an 80x86 and x86-64 assembler (MSW-only)|[xpv2.14.02.5](https://github.com/externpro/nasm/releases/tag/xpv2.14.02.5 'release')|[repo](https://github.com/externpro/nasm 'github.com/externpro/nasm')|[diff](https://github.com/externpro/nasm/compare/v0...xpv2.14.02.5 'github.com/externpro/nasm/compare/v0...xpv2.14.02.5') [bin]|
|<a id='yasm' />[yasm](http://yasm.tortall.net/)|[BSD-2-Clause](https://github.com/yasm/yasm/blob/v1.3.0/COPYING 'BSD 2-Clause Simplified License')|assembler and disassembler for the Intel x86 architecture|[xpv1.3.0.4](https://github.com/externpro/yasm/releases/tag/xpv1.3.0.4 'release')|[repo](https://github.com/externpro/yasm 'github.com/externpro/yasm') [upstream](https://github.com/yasm/yasm 'github.com/yasm/yasm')|[diff](https://github.com/externpro/yasm/compare/v1.3.0...xpv1.3.0.4 'github.com/externpro/yasm/compare/v1.3.0...xpv1.3.0.4') [patch]|

![deps](xprodeps.svg 'dependencies')

Dependency version check: all 4 parent-manifest versions match pinned versions.
Dependency version check: all 6 parent-manifest versions match pinned versions.

|diff |description|
|------|-----------|
Expand Down
66 changes: 42 additions & 24 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.