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 55 files
+106 −0 .github/actions/cmake-build/action.yml
+10 −16 .github/wf-templates/xpbuild.yml
+1 −2 .github/wf-templates/xprelease.yml
+52 −8 .github/workflows/README.md
+59 −70 .github/workflows/build-linux.yml
+7 −45 .github/workflows/build-macos.yml
+7 −53 .github/workflows/build-windows.yml
+72 −119 .github/workflows/release-from-build.yml
+3 −3 README.md
+0 −40 cmake/Findexdlpro.cmake
+63 −63 cmake/README.md
+1 −1 cmake/cpack/README.md
+62 −14 cmake/deps.cmake
+5 −4 cmake/deps.dot
+ cmake/deps.png
+499 −0 cmake/deps.svg
+0 −0 cmake/legacy/Findscript.cmake.in
+0 −0 cmake/legacy/cmsappendsuffix.cmake
+0 −0 cmake/legacy/cmsconfigurefile.cmake
+0 −0 cmake/legacy/cmscopyfilemd5.cmake
+0 −0 cmake/legacy/cmscopyfiles.cmake
+0 −0 cmake/legacy/cmscopymanuals.cmake
+0 −0 cmake/legacy/cmsdownload.cmake
+0 −0 cmake/legacy/launchWorkflow.cmake
+0 −0 cmake/legacy/macpro.cmake
+0 −1 cmake/legacy/sync.cmake
+0 −0 cmake/legacy/sync.sh.in
+928 −0 cmake/legacy/xpfunmac.cmake
+0 −0 cmake/legacy/xpopts.cmake.in
+0 −0 cmake/legacy/xpsolpkg.cmake
+0 −67 cmake/presets/xpDarwinMakefilesRelease.json
+0 −67 cmake/presets/xpLinuxMakefilesRelease.json
+127 −190 cmake/pros.cmake
+0 −7 cmake/usexp.cmake.in
+0 −22 cmake/usexpdev.cmake.in
+0 −0 cmake/web/NodePath.cmake
+0 −0 cmake/web/version.js.in
+0 −0 cmake/web/version.ts.in
+0 −0 cmake/web/versionjs.cmake
+0 −0 cmake/web/xpweb.cmake
+343 −1,050 cmake/xpfunmac.cmake
+6 −0 cmake/xproinc.cmake
+0 −1 cmake/xptoplevel.cmake
+6 −5 cmake/xpuse.cmake.in
+0 −1 compose.bld.sh
+0 −1 compose.ci.sh
+1 −1 compose.gpu.sh
+1 −2 compose.pro.sh
+0 −6 compose.xdl.sh
+7 −73 denv.sh
+66 −32 funcs.sh
+15 −10 graph/graph.dot
+ graph/graph.png
+1 −1 local.dockerfile
+90 −0 tools.sh
26 changes: 10 additions & 16 deletions .github/workflows/xpbuild.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
name: Build
permissions:
contents: read
pull-requests: write
on:
push:
branches: [ "dev" ]
Expand All @@ -7,24 +10,15 @@ on:
workflow_dispatch:
jobs:
linux:
uses: externpro/externpro/.github/workflows/build-linux.yml@25.06
with:
cmake-workflow-preset: Linux
runon: ubuntu-latest
secrets: inherit
linux-arm64:
uses: externpro/externpro/.github/workflows/build-linux.yml@25.06
with:
cmake-workflow-preset: Linux
runon: ubuntu-24.04-arm
permissions:
contents: read
pull-requests: write
packages: write
uses: externpro/externpro/.github/workflows/build-linux.yml@25.07.2
secrets: inherit
macos:
uses: externpro/externpro/.github/workflows/build-macos.yml@25.06
with:
cmake-workflow-preset: Darwin
uses: externpro/externpro/.github/workflows/build-macos.yml@25.07.2
secrets: inherit
windows:
uses: externpro/externpro/.github/workflows/build-windows.yml@25.06
with:
cmake-workflow-preset: Windows
uses: externpro/externpro/.github/workflows/build-windows.yml@25.07.2
secrets: inherit
3 changes: 1 addition & 2 deletions .github/workflows/xprelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ on:
jobs:
# Upload build artifacts as release assets
release-from-build:
uses: externpro/externpro/.github/workflows/release-from-build.yml@25.06
uses: externpro/externpro/.github/workflows/release-from-build.yml@25.07.2
with:
workflow_run_url: ${{ github.event.inputs.workflow_run_url }}
artifact_pattern: "*.tar.xz"
permissions:
contents: write
id-token: write
Expand Down
2 changes: 0 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
cmake_minimum_required(VERSION 3.31)
set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES .devcontainer/cmake/xproinc.cmake)
project(activemq-cpp)
include(GNUInstallDirs)
include(xpflags)
add_subdirectory(activemq-cpp)
23 changes: 15 additions & 8 deletions activemq-cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
find_package(apr REQUIRED)
find_package(openssl REQUIRED)
# 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]+)")
file(STRINGS configure.ac PATCH REGEX "^ACTIVEMQ_PATCH_VERSION=([0-9]+)")
string(REGEX MATCH "([0-9]+)" MAJOR ${MAJOR})
string(REGEX MATCH "([0-9]+)" MINOR ${MINOR})
string(REGEX MATCH "([0-9]+)" PATCH ${PATCH})
set(AMQ_VER ${MAJOR}.${MINOR}.${PATCH})
if(UNIX)
include(configure.cmake)
endif()
Expand All @@ -10,13 +18,12 @@ if(has_noDeprecatedDeclarations)
endif()
set(lib activemqcpp)
set(targetsFile ${lib}-targets)
if(DEFINED XP_NAMESPACE)
set(nameSpace NAMESPACE ${XP_NAMESPACE}::)
string(PREPEND lib "${XP_NAMESPACE}::")
endif()
if(NOT DEFINED XP_INSTALL_CMAKEDIR)
set(XP_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake)
endif()
xpPackageDevel(TARGETS_FILE ${targetsFile} DEPS apr openssl LIBRARIES ${lib})
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')"
)
add_subdirectory(src/main)
add_subdirectory(src/examples)
14 changes: 3 additions & 11 deletions activemq-cpp/configure.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -106,30 +106,22 @@ if(HAVE_VISIBILITY_OPTIONS)
endif()
xpcfgLtObjdir(LT_OBJDIR)
####################
# 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]+)")
file(STRINGS configure.ac PATCH REGEX "^ACTIVEMQ_PATCH_VERSION=([0-9]+)")
string(REGEX MATCH "([0-9]+)" MAJOR ${MAJOR})
string(REGEX MATCH "([0-9]+)" MINOR ${MINOR})
string(REGEX MATCH "([0-9]+)" PATCH ${PATCH})
set(ver ${MAJOR}.${MINOR}.${PATCH})
# Name of package
set(PACKAGE "\"${PROJECT_NAME}\"")
# Define to the address where bug reports for this package should be sent.
set(PACKAGE_BUGREPORT "\"dev@activemq.apache.org\"")
# Define to the full name of this package.
set(PACKAGE_NAME "\"${PROJECT_NAME}\"")
# Define to the full name and version of this package.
set(PACKAGE_STRING "\"${PROJECT_NAME} ${ver}\"")
set(PACKAGE_STRING "\"${PROJECT_NAME} ${AMQ_VER}\"")
# Define to the one symbol short name of this package.
set(PACKAGE_TARNAME "\"${PROJECT_NAME}\"")
# Define to the home page for this package.
set(PACKAGE_URL "\"http://activemq.apache.org/cms/\"")
# Define to the version of this package.
set(PACKAGE_VERSION "\"${ver}\"")
set(PACKAGE_VERSION "\"${AMQ_VER}\"")
# Version number of package
set(VERSION "\"${ver}\"")
set(VERSION "\"${AMQ_VER}\"")
####################
xpcfgCheckPthreadAttrArgs(
PTHREAD_ATTR_GETDETACHSTATE_TAKES_ONE_ARG
Expand Down
3 changes: 3 additions & 0 deletions activemq-cpp/src/main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1679,4 +1679,7 @@ 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 ${XP_INSTALL_CMAKEDIR} ${nameSpace})
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ bool ActiveMQMapMessage::equals(const DataStructure* value) const {
}

////////////////////////////////////////////////////////////////////////////////
void ActiveMQMapMessage::clearBody() throw (cms::CMSException) {
void ActiveMQMapMessage::clearBody() {
ActiveMQMessageTemplate<cms::MapMessage>::clearBody();
this->getMap().clear();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ namespace commands {

virtual bool equals(const DataStructure* value) const;

virtual void clearBody() throw (cms::CMSException);
virtual void clearBody();

public: // CMS Message

Expand Down