diff --git a/.devcontainer b/.devcontainer
index 99c37c55..088d11f8 160000
--- a/.devcontainer
+++ b/.devcontainer
@@ -1 +1 @@
-Subproject commit 99c37c554e3473089ab264dbbf0e5f53d8cc18ef
+Subproject commit 088d11f85ea014c03195ed1029151bc47d05da9d
diff --git a/.github/release-tag.json b/.github/release-tag.json
new file mode 100644
index 00000000..ad691db1
--- /dev/null
+++ b/.github/release-tag.json
@@ -0,0 +1,4 @@
+{
+ "message": "xpro version 0.9.1.6 tag",
+ "tag": "xpv0.9.1.6"
+}
diff --git a/.github/release-tag.yml b/.github/release-tag.yml
deleted file mode 100644
index d3e75662..00000000
--- a/.github/release-tag.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-tag: xpv0.9.1.5
-message: "xpro version 0.9.1.5 tag"
diff --git a/.github/workflows/xpbuild.yml b/.github/workflows/xpbuild.yml
index 76b2701d..25962792 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.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: {}
diff --git a/.github/workflows/xprelease.yml b/.github/workflows/xprelease.yml
index a2eb2822..5181b8f7 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.5
with:
workflow_run_url: ${{ github.event.inputs.workflow_run_url }}
permissions:
diff --git a/.github/workflows/xptag.yml b/.github/workflows/xptag.yml
index b5ce9503..1f6b0193 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.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 }}
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bfca8cb1..92def6b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,16 +1,5 @@
-cmake_minimum_required(VERSION 3.31)
-set(CMAKE_PROJECT_TOP_LEVEL_INCLUDES .devcontainer/cmake/xproinc.cmake)
+cmake_minimum_required(VERSION 4.3)
project(libstrophe)
-set(targetsFile ${PROJECT_NAME}-targets)
-if(DEFINED XP_NAMESPACE)
- xpExternPackage(NAMESPACE ${XP_NAMESPACE}
- TARGETS_FILE ${targetsFile} LIBRARIES ${PROJECT_NAME}
- BASE 0.9.1 XPDIFF "intro" DEPS libexpat openssl
- WEB "http://strophe.im/libstrophe/" UPSTREAM "github.com/strophe/libstrophe"
- DESC "A simple, lightweight C library for writing XMPP client"
- LICENSE "[MIT OR GPL-3.0-only](https://github.com/strophe/libstrophe/blob/0.9.1/LICENSE.txt 'dual licensed under MIT and GPLv3 licenses')"
- )
-endif()
enable_testing()
set_property(GLOBAL PROPERTY USE_FOLDERS ON) # enables MSVC Solution Folders
########################################
@@ -22,13 +11,17 @@ if(MSVC)
)
endif()
########################################
-find_package(OpenSSL)
find_package(libexpat)
-if(NOT LIBEXPAT_FOUND)
+if(NOT libexpat_FOUND)
message(FATAL_ERROR "can't find libexpat - libstrophe cmake currently hard-coded to use libexpat")
+elseif(NOT DEFINED LIBEXPAT_LIBRARIES AND TARGET libexpat::expat)
+ set(LIBEXPAT_LIBRARIES libexpat::expat)
endif()
-if(NOT OPENSSL_FOUND)
+find_package(openssl)
+if(NOT openssl_FOUND)
message(FATAL_ERROR "can't find OpenSSL - libstrophe cmake currently hard-coded to use OpenSSL")
+elseif(NOT DEFINED OPENSSL_LIBRARIES AND TARGET openssl::crypto AND TARGET openssl::ssl)
+ set(OPENSSL_LIBRARIES openssl::crypto openssl::ssl)
endif()
####################
include(CheckLibraryExists)
@@ -49,7 +42,20 @@ checkLibraryConcat(resolv ${fn} SYS_LIBS)
checkLibraryConcat(winmm timeGetTime SYS_LIBS)
checkLibraryConcat(ws2_32 getch SYS_LIBS)
########################################
+set(targetsFile ${PROJECT_NAME}-targets)
+if(NOT DEFINED CMAKE_INSTALL_CMAKEDIR)
+ set(CMAKE_INSTALL_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/cmake)
+endif()
add_subdirectory(src)
add_subdirectory(examples)
add_subdirectory(tests)
install(FILES strophe.h strophepp.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME})
+if(COMMAND xpExternPackage)
+ xpExternPackage(TARGETS_FILE ${targetsFile}
+ LIBRARIES ${PROJECT_NAME} DEFAULT_TARGETS ${PROJECT_NAME}
+ BASE 0.9.1 XPDIFF "intro"
+ WEB "http://strophe.im/libstrophe/" UPSTREAM "github.com/strophe/libstrophe"
+ DESC "A simple, lightweight C library for writing XMPP client"
+ LICENSE "[MIT OR GPL-3.0-only](https://github.com/strophe/libstrophe/blob/0.9.1/LICENSE.txt 'dual licensed under MIT and GPLv3 licenses')"
+ )
+endif()
diff --git a/CMakePresets.json b/CMakePresets.json
index f82cfdd2..28efa397 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"
]
}
diff --git a/CMakePresetsBase.json b/CMakePresetsBase.json
index 4489d79c..c54ade99 100644
--- a/CMakePresetsBase.json
+++ b/CMakePresetsBase.json
@@ -6,7 +6,7 @@
"hidden": true,
"binaryDir": "${sourceDir}/_bld-${presetName}",
"cacheVariables": {
- "XP_NAMESPACE": "xpro"
+ "CMAKE_EXPERIMENTAL_GENERATE_SBOM": "ca494ed3-b261-4205-a01f-603c95e4cae0"
}
}
],
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f1a7fd75..ddaa8fbb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -56,7 +56,4 @@ install(TARGETS ${lib_name} EXPORT ${targetsFile}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
-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 ${PROJECT_NAME}::)
diff --git a/xprodeps.md b/xprodeps.md
index 9a908bbc..24a3960c 100644
--- a/xprodeps.md
+++ b/xprodeps.md
@@ -2,15 +2,16 @@
|project|license [^_l]|description [dependencies]|version|source|diff [^_d]|
|-------|-------------|--------------------------|-------|------|----------|
-|[libstrophe](http://strophe.im/libstrophe/)|[MIT or GPL-3.0](https://github.com/strophe/libstrophe/blob/0.9.1/LICENSE.txt 'dual licensed under MIT and GPLv3 licenses')|A simple, lightweight C library for writing XMPP client [deps: _libexpat, openssl_]| |[upstream](https://github.com/strophe/libstrophe 'github.com/strophe/libstrophe')| [intro]|
-|[libexpat](https://libexpat.github.io)|[MIT](https://github.com/libexpat/libexpat/blob/R_2_2_5/expat/COPYING 'MIT License')|a stream-oriented XML parser library written in C|[xpv2.2.5.3](https://github.com/externpro/libexpat/releases/tag/xpv2.2.5.3 'release')|[repo](https://github.com/externpro/libexpat 'github.com/externpro/libexpat') [upstream](https://github.com/libexpat/libexpat 'github.com/libexpat/libexpat')|[diff](https://github.com/externpro/libexpat/compare/R_2_2_5...xpv2.2.5.3 'github.com/externpro/libexpat/compare/R_2_2_5...xpv2.2.5.3') [patch]|
-|[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]|
-|[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]|
-|[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]|
+|[libstrophe](http://strophe.im/libstrophe/)|[MIT OR GPL-3.0-only](https://github.com/strophe/libstrophe/blob/0.9.1/LICENSE.txt 'dual licensed under MIT and GPLv3 licenses')|A simple, lightweight C library for writing XMPP client [deps: _libexpat, openssl_]| |[upstream](https://github.com/strophe/libstrophe 'github.com/strophe/libstrophe')| [intro]|
+|[libexpat](https://libexpat.github.io)|[MIT](https://github.com/libexpat/libexpat/blob/R_2_2_5/expat/COPYING 'MIT License')|a stream-oriented XML parser library written in C|[xpv2.2.5.4](https://github.com/externpro/libexpat/releases/tag/xpv2.2.5.4 'release')|[repo](https://github.com/externpro/libexpat 'github.com/externpro/libexpat') [upstream](https://github.com/libexpat/libexpat 'github.com/libexpat/libexpat')|[diff](https://github.com/externpro/libexpat/compare/R_2_2_5...xpv2.2.5.4 'github.com/externpro/libexpat/compare/R_2_2_5...xpv2.2.5.4') [patch]|
+|[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]|
+|[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]|
+|[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]|
+|[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]|

-Dependency version check: all 4 parent-manifest versions match pinned versions.
+Dependency version check: all 5 parent-manifest versions match pinned versions.
|diff |description|
|------|-----------|
diff --git a/xprodeps.svg b/xprodeps.svg
index 9a1ac867..1b8e15bd 100644
--- a/xprodeps.svg
+++ b/xprodeps.svg
@@ -4,8 +4,8 @@
-