Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
748 commits
Select commit Hold shift + click to select a range
9269441
fix end-of-file issues
Sep 8, 2022
c151aed
remove unused import statement in WSDL
dfaure-kdab Sep 8, 2022
65174cc
pylinting
Sep 8, 2022
99d9214
autopep8
Sep 8, 2022
5926bd0
remove unused import statement in WSDL
dfaure-kdab Sep 8, 2022
5f254c7
cmake-format the entire project
Sep 8, 2022
58cf4f5
buildsystem - InstallLocation.cmake -> KDInstallLocation.cmake
Sep 8, 2022
2d05e6b
src/KDSoapClient/KDQName.[cpp,h] - relicense to MIT
Sep 8, 2022
994c6e1
Fix compilation with C++17 on mac, std::random_shuffle is gone
dfaure-kdab Sep 9, 2022
8e9c7d0
Fix compilation with C++17 on mac, std::random_shuffle is gone
dfaure-kdab Sep 9, 2022
beee6ca
src/kdwsdl2cpp - relicense to MIT
Sep 9, 2022
085d1ba
Re-license project to MIT and remove the commercial offering
Sep 9, 2022
62fab26
Merge branch 'kdsoap-2.1'
Sep 9, 2022
5e68d1b
kdwsdl2cpp/src - add David as Author to a few files
Sep 9, 2022
4116eb6
cmake-format the project
Sep 9, 2022
20e3cd2
cmake-format the project
Sep 9, 2022
ee12313
.pre-commit-config.yaml - check-yaml --allow-multiple-documents
Sep 9, 2022
1ddd5e8
.krazy - exclude checkers better done with clangtidy,clazy,codespell
Sep 9, 2022
b7f7897
Fix "project.." in file copyright-license header
Sep 9, 2022
c120dc6
CMakeLists.txt - re-arranging, fix KDAB_INSTALL
Sep 9, 2022
994c814
markdownlint the project
Sep 9, 2022
46aed0d
docs/api/Doxyfile.cmake - for doxygen 1.8.0
Sep 9, 2022
7c22ba7
cmake/KDAB - sync
Sep 9, 2022
45ba64b
cmake/ECM - sync to upstream
Sep 9, 2022
ef9400a
buildsystem requires CMake version 3.12.0 or higher
Sep 9, 2022
71d13fe
CMakeLists.txt - try generating pri files with Qt6
Sep 9, 2022
48c7852
CMakeLists.txt - use KDCompilerFlags
Sep 11, 2022
5942f04
docs/api/Doxyfile.cmake - update TAGFILES for QtNetwork
Sep 11, 2022
b0f96cd
kdwsdl2cpp/src/typemap.cpp - fix -Wrange-loop-construct
Sep 11, 2022
bb5aa6a
Merge branch 'kdsoap-2.1'
Sep 11, 2022
aa6f6e4
distro - prep for 2.1.0 release
Sep 11, 2022
823dbe3
buildsystem - Qt6 build - install includes into "-qt6" dirs
Sep 11, 2022
0cc55d1
distro/qt6-kdsoap.spec - follow the header co-install fix
Sep 11, 2022
de29194
qt6-kdsoap.spec - fix , found on OBS building for Fedora36
Sep 11, 2022
d57c697
open for version 2.1.1
Sep 12, 2022
0da2f57
Merge branch 'kdsoap-2.1'
Sep 12, 2022
91f445a
open for version 2.2.0
Sep 12, 2022
0c7374b
KDSoapClient,KDSoapServer]/CMakeLists.txt - fix INSTALL_INTERFACES
Sep 12, 2022
f5104ea
Merge branch 'kdsoap-2.1'
Sep 12, 2022
68cc3bc
distro - prep for 2.1.1 release
Sep 12, 2022
9d06beb
Slightly more readable variable name
dfaure-kdab Sep 13, 2022
5142660
Revert "buildsystem - Qt6 build - install includes into "-qt6" dirs"
dfaure-kdab Sep 13, 2022
aa9058c
clang-tidy fix (unused variable)
dfaure-kdab Sep 13, 2022
36dfbea
Fix cppcheck warnings
dfaure-kdab Sep 13, 2022
8cb054a
Slightly more readable variable name
dfaure-kdab Sep 13, 2022
d2a04a2
Revert "buildsystem - Qt6 build - install includes into "-qt6" dirs"
dfaure-kdab Sep 13, 2022
8e41c19
clang-tidy fix (unused variable)
dfaure-kdab Sep 13, 2022
e9df81f
Fix cppcheck warnings
dfaure-kdab Sep 13, 2022
936d7f1
docs/CHANGES_2_1_1.txt - clarifications
Sep 13, 2022
074a973
distro/qt6-kdsoap.spec - follow qt6 header installation path
Sep 13, 2022
9e6e0cc
Merge branch 'kdsoap-2.1'
Sep 13, 2022
d9b402e
minor formatting issues for CMake and C++
Sep 14, 2022
7660cc3
open for a possible 2.1.2 release
Sep 14, 2022
fb22e93
Merge branch 'kdsoap-2.1'
Sep 14, 2022
a5a3cef
.pre-commint-config.yaml - update hooks versions
Sep 16, 2022
8983678
Merge branch 'kdsoap-2.1'
Sep 16, 2022
c7b290b
Export KDQName debug stream operator
vkrause Oct 9, 2022
060364c
move to clangformat v14
Oct 14, 2022
65d3a86
Merge branch 'kdsoap-2.1'
Oct 14, 2022
c589962
[pre-commit.ci] pre-commit autoupdate (#250)
pre-commit-ci[bot] Oct 18, 2022
f943b21
[pre-commit.ci] pre-commit autoupdate (#252)
pre-commit-ci[bot] Oct 25, 2022
a002efb
Merge branch 'kdsoap-2.1'
Oct 25, 2022
cb251f1
Updated clearbooks WSDL file from https://secure.clearbooks.co.uk/api…
dfaure-kdab Oct 25, 2022
a0bd45e
Add KDSoapClientInterface::setMessageAddressingProperties()
dfaure-kdab Dec 3, 2022
912e904
fix -Wdocumentation warning
dfaure-kdab Dec 3, 2022
877fa67
Fix -import-path for kdwsdl2cpp by using the import path in more places
dfaure-kdab Dec 5, 2022
680e79f
Don't require a SOAP action in order to write addressing properties.
dfaure-kdab Dec 5, 2022
3d33556
appveyor.yml - use qt6.3 on Mac (qt6.1 is no longer supported)
Dec 20, 2022
4a1e77e
.pre-commit-config.yaml - autoupdate
Dec 20, 2022
49298af
Merge branch 'kdsoap-2.1'
Dec 20, 2022
450aa3a
Some clazy fixes
dfaure-kdab Dec 21, 2022
305d9c0
More clazy fixes (parent qobject arg, qgetenv.toInt)
dfaure-kdab Dec 22, 2022
385c6b6
appveyor.yml - move to macos-monterey image
Dec 22, 2022
62bda5c
Merge branch 'kdsoap-2.1'
Dec 22, 2022
ec93c60
cppcheck fixes
dfaure-kdab Dec 23, 2022
9d7fc5a
More clazy fixes
dfaure-kdab Dec 27, 2022
b7fde31
Update libkode, to reduce verbosity on parser errors
dfaure-kdab Dec 27, 2022
7f06c14
revert previous commit, I confused the libkode forks
dfaure-kdab Dec 27, 2022
f787fda
More clazy fixes
dfaure-kdab Dec 28, 2022
ca0d834
Update libkode to reduce verbosity on errors
dfaure-kdab Dec 29, 2022
c268e2e
Fix clazy warning about non-POD static QName
dfaure-kdab Dec 29, 2022
9499d9a
Better fix for XmlAnyType() that doesn't require C++17
dfaure-kdab Dec 29, 2022
8b13173
Fix "Polymorphic class KWSDL::AbstractBinding is copyable. Potential …
dfaure-kdab Dec 29, 2022
126b6db
Fix copyable base interface classes
dfaure-kdab Dec 29, 2022
aa69e8d
More clazy exclusions for the QObject parent check
dfaure-kdab Dec 29, 2022
6cffc2a
Final clazy fixes
dfaure-kdab Dec 30, 2022
be3c801
update copyright year to 2023
Jan 6, 2023
0c3969c
Merge branch 'kdsoap-2.1'
Jan 6, 2023
978eb05
Add new KDSoap logo
kpales Feb 6, 2023
ab47ad1
Add new Logo
kpales Feb 6, 2023
9aaa187
Add KDSoap trademark
kpales Feb 6, 2023
a743bdf
Update logo and trademark
kpales Feb 6, 2023
8502726
Update README.md
kpales Feb 6, 2023
c9298ee
Update README.md
kpales Feb 6, 2023
8c7a8c1
.mdlrc.rb - don't require first line to be a header
Feb 14, 2023
731a120
.pre-commit-config.yaml - autoupdate
Feb 14, 2023
82fa1c5
Merge branch 'kdsoap-2.1'
Feb 14, 2023
26658ee
various - clang-format v15 fixes
Feb 14, 2023
cb2df4c
Ensure KDSoapConfig.cmake finds Qt first.
dfaure-kdab Mar 26, 2023
dd9efc0
Remove stray ":" in .prf file
pocek Apr 14, 2023
0c7f32e
clazy fix ("Signature is not normalized")
dfaure-kdab Apr 16, 2023
64e9dc1
src/KDSoapServer/KDSoapServerThread.cpp - clang-format skip
Apr 17, 2023
5c93c89
README.md - we don't offer commercial license any longer
May 11, 2023
f5e536b
Merge branch 'kdsoap-2.1'
May 11, 2023
b004b11
README.md - fix typo
May 11, 2023
cf2f69f
Merge branch 'kdsoap-2.1'
May 11, 2023
9ec8d32
Fix compiler error C1061 when using more than 122 functions
Sep 12, 2023
6004d63
appveyor.yml - add export CTEST_OUTPUT_ON_FAILURE=1
Sep 12, 2023
eea8704
appveyor.yml - remove Mac from the build matrix
Sep 12, 2023
967a258
Merge branch 'kdsoap-2.1'
Sep 12, 2023
e7d0d67
cmake/ECM/modules/ECMQueryQt.cmake - upstream fix for qt6
Sep 17, 2023
f8d6a55
Merge branch 'kdsoap-2.1'
Sep 17, 2023
9affcf9
Add GitHub actions (#266)
dantti Sep 23, 2023
43a25dc
Remove KDSoapMessage::isNull(), same implementation as KDSoapValue::i…
dfaure-kdab Sep 24, 2023
bd66a42
Attempt to silence a cppcheck warning
dfaure-kdab Sep 24, 2023
22c0a14
Fix Qt6 compilation warnings around QVariant/QMetaType
dfaure-kdab Sep 24, 2023
99fac1a
Fix cppcheck silencing comment
dfaure-kdab Sep 25, 2023
f9940b1
[pre-commit.ci] pre-commit autoupdate (#257)
pre-commit-ci[bot] Oct 3, 2023
10e65e6
.pre-commit-config.yaml - autoupdate
Oct 17, 2023
9a0d1d1
Merge branch 'kdsoap-2.1'
Oct 17, 2023
1c01c4d
Turn writeXML assert into a qWarning
dfaure-kdab Nov 2, 2023
245f08e
Increase timeout, Windows CI is slow
dfaure-kdab Nov 3, 2023
46b424b
src/KDSoapServer/KDSoapServerSocket.cpp - fix spelling
Nov 3, 2023
80bb884
KDSoapUdpClient: use a single socket for IPv4 and IPv6
dfaure-kdab Nov 3, 2023
8587b48
CI: Updates to dedup KDAB CI
DanielNicolettiKDAB Nov 10, 2023
48f5436
CI: Add static analysis at night
DanielNicolettiKDAB Nov 10, 2023
78382c8
CI: Use Qt6 when nightly testing
DanielNicolettiKDAB Nov 13, 2023
62e9292
CI: Remove code to force nightly runs
DanielNicolettiKDAB Nov 13, 2023
03dc754
CI: Fix license
DanielNicolettiKDAB Nov 14, 2023
72bfbcf
Fixes suggested by Coverity (mostly std::move)
dfaure-kdab Nov 22, 2023
0e8b011
Remove outdated cppcheck suppression
dfaure-kdab Nov 23, 2023
3207a84
Generate forwarding headers also when used as a git submodule
dfaure-kdab Dec 12, 2023
e68de70
Only call feature_summary when not a submodule
dfaure-kdab Dec 13, 2023
d1ccf24
reformat with cmake-format, good bye nice readable indentation
dfaure-kdab Dec 14, 2023
46ef269
.pre-commit-config.yaml - autoupdate and add a few more hooks
Dec 14, 2023
5e2da07
Merge branch 'kdsoap-2.1'
Dec 14, 2023
2bfe5e6
Add ALIAS to match the exported target. Useful when used as a git sub…
dfaure-kdab Dec 14, 2023
76deb8e
src/KDSoapClient/CMakeLists.txt - minor cmake-format
Dec 15, 2023
5261873
Fix Qt5-Qt6 co-install
redstrate Jan 3, 2024
d748d11
CMakeLists.txt - minor cmake-format fix
Jan 3, 2024
abd2d73
This will become version 2.3
Jan 3, 2024
86a3c70
Modify the copyright line to show the file creation year only
Jan 3, 2024
ac216de
CI for kdsoap-2.2 (#275)
dantti Jan 3, 2024
e542665
Merge branch 'kdsoap-2.2'
Jan 3, 2024
59a4f99
docs/CHANGES_2_3.txt - minor whitespace fixes
Jan 4, 2024
32c5464
docs/api/Doxyfile.cmake - modernize for doxygen 1.9.8
Jan 4, 2024
8c5da60
CI disable kdsoap-test_wsdl_rpc as it's flacky (#277)
DanielNicolettiKDAB Jan 4, 2024
18d29f7
CI disable kdsoap-test_wsdl_rpc as it's flacky (#277)
DanielNicolettiKDAB Jan 4, 2024
6b9d75b
replace Qt_VERSION_MAJOR with the more standard QT_VERSION_MAJOR
Jan 4, 2024
36f7b98
Install the Windows pdb files in the bin dir
Jan 4, 2024
e70a798
Sync extra cmake from upstream KDE and KDAB (#279)
Jan 7, 2024
bb93fb8
.clazy - don't run the fully-qualified-moc-types checker
Jan 7, 2024
154851c
Merge branch 'kdsoap-2.2'
Jan 7, 2024
208962b
distro/ - prep for 2.2.0 release
Jan 7, 2024
c14d2d6
CMakeLists.txt - this will become the 2.2.1 version
Jan 9, 2024
eec0822
Merge branch 'kdsoap-2.2'
Jan 9, 2024
ae813a2
Standardize project to KDAB copyright policy
Jan 13, 2024
a14f300
Merge branch 'kdsoap-2.2'
Jan 13, 2024
d56e5ce
CI: Add CLAZY_CHECKS and CLAZY_IGNORE_DIRS env vars
DanielNicolettiKDAB Jan 8, 2024
4ed2a53
appveyor.yml - remove. we no longer use Appveyor CI/CD
Apr 2, 2024
d986015
.pre-commit-config.yaml - autoupdate
Apr 2, 2024
eba011f
Use the doxygen-awesome.css stylesheet for web page generation
Apr 2, 2024
a2cc5c3
docs/api/doxygen-awesome.css - add, missed in prev commit
Apr 2, 2024
bd1745a
sync cmake/ECM and cmake/KDAB to upstream (#284)
Apr 2, 2024
64e0e8f
Merge branch 'kdsoap-2.2'
Apr 2, 2024
2a4df9f
master (#285)
Apr 2, 2024
83a6b00
Remove unused define
dfaure-kdab Jun 14, 2024
22b5dad
Don't try to contact the calc service, it no longer exists
dfaure-kdab Jun 14, 2024
e560dbe
.pre-commit-config.yaml - autoupdate + a codespell fix
Jul 2, 2024
aec58d1
Merge branch 'kdsoap-2.2'
Jul 2, 2024
b2de112
Don't try to contact the calc service, it no longer exists
dfaure-kdab Jun 14, 2024
8b0cba0
Deploy doxygen docs to git hub pages
DanielNicolettiKDAB Jul 7, 2024
c87c4a2
Update README.md API docs url
DanielNicolettiKDAB Jul 9, 2024
6325147
Require C++17, port from deprecated qAsConst to std::as_const
dfaure-kdab Jul 24, 2024
b38ef53
mention C++17
dfaure-kdab Jul 25, 2024
f89999e
Fix mixing up raw-xml requests in the same server object
dfaure-kdab Jul 18, 2024
84fff36
Fix tests to adapt to Qt 6.8's QNAM sending lowercase headers
dfaure-kdab Aug 21, 2024
5258205
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Aug 5, 2024
51de1cc
Simplify previous commit
dfaure-kdab Aug 21, 2024
f14222e
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Sep 2, 2024
36c323d
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Oct 7, 2024
22899fd
CI update to macOS 13 (#297)
DanielNicolettiKDAB Nov 6, 2024
96dee25
docs/api/Doxyfile.cmake - update for doxygen v1.12.0
Nov 21, 2024
1f9c5e9
cmake/ECM/modules/ECMQueryQt.cmake - sync to upstream
Nov 21, 2024
d241459
cmake/KDAB/modules/KDQtInstallPaths.cmake - sync to upstream
Nov 21, 2024
8e873e7
deploy/release-kdsoap.sh - tool to help with pre-release tasks
Nov 21, 2024
ecd4e49
reuse - convert to REUSE.toml
Nov 21, 2024
72f6691
Merge branch 'kdsoap-2.2'
Nov 21, 2024
3ba486a
[pre-commit.ci] pre-commit autoupdate (#300)
pre-commit-ci[bot] Dec 3, 2024
f55fc87
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Jan 6, 2025
4c81d19
Marketing update
dfaure-kdab Jan 17, 2025
9d3a333
Fix coverity reports: allow moving these (const prevents move)
dfaure-kdab Jan 17, 2025
57485db
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Feb 3, 2025
cd78576
Disable tests that use online services that no longer exist
dfaure-kdab Feb 25, 2025
308956b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 25, 2025
bdf8b62
Build for Qt6 by default
dfaure-kdab Feb 25, 2025
0bc4126
Add support for sanitizers
dfaure-kdab Feb 26, 2025
bc5608b
Add CMakePresets.json
iamsergio Feb 26, 2025
21c53d3
Don't set clazy settings in multiple places
iamsergio Feb 28, 2025
dfbcd04
ci: Make clazy and clang-tidy run for each commit
iamsergio Feb 28, 2025
b910514
ci: Move clang-tidy settings to CMakePresets.json
iamsergio Feb 28, 2025
51684ac
Exclude -Wclazy-ctor-missing-parent-argument for KDSoapSocketList
iamsergio Mar 1, 2025
31b8e24
CI: Enable -Werror for clazy since we're warning clean now
iamsergio Mar 1, 2025
46b89ee
Add cppcheck target and call it on CI
DanielNicolettiKDAB Mar 17, 2025
f32788d
Update README.md
jatomore Jun 17, 2025
7e03da3
Fix markdownlint issues in README.md
dfaure-kdab Jun 17, 2025
0d66676
Port the last qAsConst
dfaure-kdab Jun 17, 2025
1c8bac6
Improve security when handling requests to download files
dfaure-kdab Jun 17, 2025
a2990e8
Don't use deprecated Qt functions.
jtjbrady Jun 16, 2025
3a86117
Add job support for one way operations.
jtjbrady Jun 16, 2025
755840b
Correct time zone offset calculation fixes #299.
jtjbrady Jun 16, 2025
ad19cb3
Fix compatibility with Qt 6.5.9.
jtjbrady Jun 19, 2025
301aa34
Switch kdwsdl2cpp to QCommandLineParser.
jtjbrady Jun 19, 2025
b23dcc1
Use correct version for SOAP replies.
jtjbrady Jun 20, 2025
e1dcb2e
Support for RFC 7233 (Range Requests)
jtjbrady Jul 12, 2025
a08b22b
Moves ranges code into separate function.
jtjbrady Aug 31, 2025
6c2cedb
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 31, 2025
3997074
Use QEXPECT_FAIL for HEAD tests rather than commenting them out.
jtjbrady Sep 1, 2025
8f92d5b
Mention the new range-requests feature for the changelog
dfaure-kdab Sep 1, 2025
6847614
[pre-commit.ci] pre-commit autoupdate
pre-commit-ci[bot] Sep 1, 2025
4a722ea
Fix coverity warning about missing std::move
dfaure-kdab Sep 5, 2025
620e248
ci: Cover Qt 6.10
iamsergio Sep 23, 2025
bc7d46d
allow usage with `QT_NO_JAVA_STYLE_ITERATORS` defined
anoymouserver Jan 2, 2026
64c47f9
CI: update to latest macos
dfaure-kdab Jan 9, 2026
7d6ed62
ci: Add workflow_dispatch
iamsergio Feb 2, 2026
e2ad5d4
Show all headers in qt-creator.
Montel Feb 3, 2026
e50d3ca
Fix broken tests with Qt >= 6.10.2 (#330)
Montel Feb 3, 2026
f645d6c
Add missing include moc (#332)
Montel Feb 3, 2026
2847728
ci: Bump from 6.10.0 to 6.10.latest
iamsergio Feb 2, 2026
ce0434f
ci: Add sanitizer builds
iamsergio Feb 1, 2026
39c1981
ci: Use KDABLabs/ci-download-qt-action@v1 to get sanitized Qt
iamsergio Feb 3, 2026
a47895c
Remove unused virtual when we use override + use nullptr (#337)
Montel Feb 4, 2026
17b7f92
Step1: fix some mem leak found by ASAN. Delete all m_sockets
Montel Feb 4, 2026
93184d7
Add QObject parent + remove virtual when we have override
Montel Feb 4, 2026
724bcc4
Step2: fix test_ranges mem leak (KDSoap delete QBuffer but not the ne…
Montel Feb 5, 2026
3a47e92
Step3: fix mem leak in test_wsdl_document
Montel Feb 5, 2026
e9346a3
ci: Build with LSAN as well
iamsergio Feb 3, 2026
dd97669
ci: Build against both asan and ubsan Qt
iamsergio Feb 21, 2026
9f91a73
Mention the memory leak fix
dfaure-kdab Mar 11, 2026
a8f50b1
Only run reuse on new/modified files
dfaure-kdab Mar 11, 2026
b12fa09
Ignore CMakeUserPresets.json
dfaure-kdab Mar 11, 2026
70fdc99
Add compile_commands.json to .gitignore
iamsergio Mar 11, 2026
ab4ae89
cmake: normalize version handling, introduce version.txt
iamsergio Mar 11, 2026
2bc63be
ci: Add create_release.yml workflow
iamsergio Mar 13, 2026
9bf6a46
bump version to 2.3.0 for release
iamsergio Mar 13, 2026
488556d
Add .github/dependabot.yml for updating github action versions
iamsergio Mar 15, 2026
4d786b1
Bump actions/upload-pages-artifact from 3 to 4
dependabot[bot] Mar 16, 2026
2e8d903
Bump actions/checkout from 4 to 6
dependabot[bot] Mar 16, 2026
5e91d5c
Bump jurplel/install-qt-action from 3 to 4
dependabot[bot] Mar 16, 2026
d6c61ca
CDBS is being sunset, drop old broken Debian example build rules
a-detiste Mar 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
74 changes: 74 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
Language: Json
DisableFormat: true
---
BasedOnStyle: WebKit
Language: Cpp
Standard: Cpp11

IndentWidth: 4
SpacesBeforeTrailingComments: 1
TabWidth: 8
UseTab: Never
ContinuationIndentWidth: 4
MaxEmptyLinesToKeep: 3
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakConstructorInitializersBeforeComma: true

BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: true
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false

ForEachMacros:
- forever # avoids { wrapped to next line
- foreach
- Q_FOREACH

AccessModifierOffset: -4
ConstructorInitializerIndentWidth: 4
AlignEscapedNewlinesLeft: false
AlignTrailingComments: false
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortEnumsOnASingleLine: false # requires clang-format 11
AlignAfterOpenBracket: true
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: true
BinPackParameters: true
ColumnLimit: 0
Cpp11BracedListStyle: true
DerivePointerBinding: false
ExperimentalAutoDetectBinPacking: false
IndentCaseLabels: false
NamespaceIndentation: None
ObjCSpaceBeforeProtocolList: true
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 60
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerBindsToType: false
SpaceAfterTemplateKeyword: false
IndentFunctionDeclarationAfterType: false
SpaceAfterControlStatementKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceInEmptyParentheses: false
SpacesInAngles: false
SpacesInCStyleCastParentheses: true
SpacesInParentheses: false
...
241 changes: 241 additions & 0 deletions .cmake-format.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
# ----------------------------------
# Options affecting listfile parsing
# ----------------------------------
with section("parse"):

# Specify structure for custom cmake functions
additional_commands = {'foo': {'flags': ['BAR', 'BAZ'],
'kwargs': {'DEPENDS': '*', 'HEADERS': '*', 'SOURCES': '*'}}}

# Override configurations per-command where available
override_spec = {}

# Specify variable tags.
vartags = []

# Specify property tags.
proptags = []

# -----------------------------
# Options affecting formatting.
# -----------------------------
with section("format"):

# Disable formatting entirely, making cmake-format a no-op
disable = False

# How wide to allow formatted cmake files
line_width = 120

# How many spaces to tab for indent
tab_size = 4

# If true, lines are indented using tab characters (utf-8 0x09) instead of
# <tab_size> space characters (utf-8 0x20). In cases where the layout would
# require a fractional tab character, the behavior of the fractional
# indentation is governed by <fractional_tab_policy>
use_tabchars = False

# If <use_tabchars> is True, then the value of this variable indicates how
# fractional indentions are handled during whitespace replacement. If set to
# 'use-space', fractional indentation is left as spaces (utf-8 0x20). If set
# to `round-up` fractional indentation is replaced with a single tab character
# (utf-8 0x09) effectively shifting the column to the next tabstop
fractional_tab_policy = 'use-space'

# If an argument group contains more than this many sub-groups (parg or kwarg
# groups) then force it to a vertical layout.
max_subgroups_hwrap = 2

# If a positional argument group contains more than this many arguments, then
# force it to a vertical layout.
max_pargs_hwrap = 4

# If a cmdline positional group consumes more than this many lines without
# nesting, then invalidate the layout (and nest)
max_rows_cmdline = 2

# If true, separate flow control names from their parentheses with a space
separate_ctrl_name_with_space = False

# If true, separate function names from parentheses with a space
separate_fn_name_with_space = False

# If a statement is wrapped to more than one line, than dangle the closing
# parenthesis on its own line.
dangle_parens = True

# If the trailing parenthesis must be 'dangled' on its on line, then align it
# to this reference: `prefix`: the start of the statement, `prefix-indent`:
# the start of the statement, plus one indentation level, `child`: align to
# the column of the arguments
dangle_align = 'prefix'

# If the statement spelling length (including space and parenthesis) is
# smaller than this amount, then force reject nested layouts.
min_prefix_chars = 4

# If the statement spelling length (including space and parenthesis) is larger
# than the tab width by more than this amount, then force reject un-nested
# layouts.
max_prefix_chars = 10

# If a candidate layout is wrapped horizontally but it exceeds this many
# lines, then reject the layout.
max_lines_hwrap = 2

# What style line endings to use in the output.
line_ending = 'unix'

# Format command names consistently as 'lower' or 'upper' case
command_case = 'lower'

# Format keywords consistently as 'lower' or 'upper' case
keyword_case = 'upper'

# A list of command names which should always be wrapped
always_wrap = ["add_executable", "add_library",
"target_link_libraries", "target_include_directories", "install"]

# If true, the argument lists which are known to be sortable will be sorted
# lexicographicall
enable_sort = True

# If true, the parsers may infer whether or not an argument list is sortable
# (without annotation).
autosort = True

# By default, if cmake-format cannot successfully fit everything into the
# desired linewidth it will apply the last, most agressive attempt that it
# made. If this flag is True, however, cmake-format will print error, exit
# with non-zero status code, and write-out nothing
require_valid_layout = False

# A dictionary mapping layout nodes to a list of wrap decisions. See the
# documentation for more information.
layout_passes = {}

# ------------------------------------------------
# Options affecting comment reflow and formatting.
# ------------------------------------------------
with section("markup"):

# What character to use for bulleted lists
bullet_char = '*'

# What character to use as punctuation after numerals in an enumerated list
enum_char = '.'

# If comment markup is enabled, don't reflow the first comment block in each
# listfile. Use this to preserve formatting of your copyright/license
# statements.
first_comment_is_literal = False

# If comment markup is enabled, don't reflow any comment block which matches
# this (regex) pattern. Default is `None` (disabled).
literal_comment_pattern = None

# Regular expression to match preformat fences in comments default=
# ``r'^\s*([`~]{3}[`~]*)(.*)$'``
fence_pattern = '^\\s*([`~]{3}[`~]*)(.*)$'

# Regular expression to match rulers in comments default=
# ``r'^\s*[^\w\s]{3}.*[^\w\s]{3}$'``
ruler_pattern = '^\\s*[^\\w\\s]{3}.*[^\\w\\s]{3}$'

# If a comment line matches starts with this pattern then it is explicitly a
# trailing comment for the preceeding argument. Default is '#<'
explicit_trailing_pattern = '#<'

# If a comment line starts with at least this many consecutive hash
# characters, then don't lstrip() them off. This allows for lazy hash rulers
# where the first hash char is not separated by space
hashruler_min_length = 10

# If true, then insert a space between the first hash char and remaining hash
# chars in a hash ruler, and normalize its length to fill the column
canonicalize_hashrulers = True

# enable comment markup parsing and reflow
enable_markup = False

# ----------------------------
# Options affecting the linter
# ----------------------------
with section("lint"):

# a list of lint codes to disable
disabled_codes = []

# regular expression pattern describing valid function names
function_pattern = '[0-9a-z_]+'

# regular expression pattern describing valid macro names
macro_pattern = '[0-9a-z_]+'

# regular expression pattern describing valid names for variables with global
# (cache) scope
global_var_pattern = '[A-Z][0-9A-Z_]+'

# regular expression pattern describing valid names for variables with global
# scope (but internal semantic)
internal_var_pattern = '[A-Z][0-9A-Z_]+'

# regular expression pattern describing valid names for variables with local
# scope
local_var_pattern = '[_A-Za-z][A-Za-z0-9_]+'

# regular expression pattern describing valid names for privatedirectory
# variables
private_var_pattern = '[0-9a-z_]+'

# regular expression pattern describing valid names for public directory
# variables
public_var_pattern = '.*'

# regular expression pattern describing valid names for function/macro
# arguments and loop variables.
argument_var_pattern = '[a-z_][a-z0-9_]+'

# regular expression pattern describing valid names for keywords used in
# functions or macros
keyword_pattern = '[A-Z][0-9A-Z_]+'

# In the heuristic for C0201, how many conditionals to match within a loop in
# before considering the loop a parser.
max_conditionals_custom_parser = 2

# Require at least this many newlines between statements
min_statement_spacing = 1

# Require no more than this many newlines between statements
max_statement_spacing = 2
max_returns = 6
max_branches = 15
max_arguments = 10
max_localvars = 15
max_statements = 50

# -------------------------------
# Options affecting file encoding
# -------------------------------
with section("encode"):

# If true, emit the unicode byte-order mark (BOM) at the start of the file
emit_byteorder_mark = False

# Specify the encoding of the input file. Defaults to utf-8
input_encoding = 'utf-8'

# Specify the encoding of the output file. Defaults to utf-8. Note that cmake
# only claims to support utf-8 so be careful when using anything else
output_encoding = 'utf-8'

# -------------------------------------
# Miscellaneous configurations options.
# -------------------------------------
with section("misc"):

# A dictionary containing any per-command configuration overrides. Currently
# only `command_case` is supported.
per_command = {}
4 changes: 4 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[codespell]
skip = *.wsdl,*.xsd,*.XSD,*.ts,./kdwsdl2cpp/libkode,./build-*,.git
interactive = 3
ignore-words-list = crosssite,statics
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# SPDX-FileCopyrightText: 2026 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
#
# SPDX-License-Identifier: MIT

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 5
57 changes: 57 additions & 0 deletions .github/workflows/build-sanitizers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2023 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
#
# SPDX-License-Identifier: MIT

name: CI (Sanitizers)

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os:
- ubuntu-24.04
preset: ['dev-asan']
include:
- preset: dev-asan
qt-flavor: asan_ubsan
steps:
- name: Checkout sources
uses: actions/checkout@v6

- name: Fetch Git submodule
run: git submodule update --init --recursive

- name: Setup Sanitized Qt
uses: KDABLabs/sanitized-qt-action@v1
with:
qt-tag: "v6.11.0-beta2"
qt-flavor: ${{ matrix.qt-flavor }}

- name: Configure project
run: >
cmake --preset=${{ matrix.preset }}
-DKDSoap_QT6=ON
-DKDSoap_STATIC=ON
-DKDSoap_TESTS=ON
-DKDSoap_EXAMPLES=OFF
-DKDSoap_DOCS=OFF

- name: Build Project
run: cmake --build ./build-${{ matrix.preset }}

- name: Run tests on Linux (offscreen)
run: >
ctest --test-dir ./build-${{ matrix.preset }} --output-on-failure
-E 'kdsoap-test_wsdl_rpc'
env:
QT_QPA_PLATFORM: offscreen
Loading