diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..47f19665 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,55 @@ +root = true + +# Language indent/EOL/charset overlap with .vscode/settings.json. +# Rulers, renderWhitespace, detectIndentation, mergeEditor, and +# language-server settings cannot be expressed here — they stay in +# settings.json. + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = tab +insert_final_newline = true +trim_trailing_whitespace = true + +# [bat] +[*.{bat,cmd}] +end_of_line = crlf +indent_size = 4 +indent_style = space + +# [c] +[*.{c,h}] +indent_size = 4 +indent_style = space + +# [cmake] +[{CMakeLists.txt,*.cmake}] +indent_size = 4 +indent_style = tab + +# [cpp] +[*.{cpp,cxx,hpp,hxx}] +indent_size = 4 +indent_style = space + +# [json] +[*.json] +indent_size = 2 +indent_style = space + +# [markdown] +[*.md] +indent_size = 2 +indent_style = space + +# [shellscript] +[*.{bash,sh,zsh}] +indent_size = 2 +indent_style = space + +# [yaml] +[*.{yaml,yml}] +indent_size = 2 +indent_style = space diff --git a/.gitattributes b/.gitattributes index e6605d10..1ad0590c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,17 +1,126 @@ +# .gitattributes — C / C++ (GitHub-hosted) +# +# Sources: GitHub Docs (line endings), git-scm gitattributes (diff=cpp), +# gitattributes/gitattributes C++.gitattributes + Common.gitattributes, +# github-linguist overrides. +# +# Linguist language-bar policy (Synesis): classify public C API headers as C +# and *.cmake as CMake scripts; keep helper scripts, IDE project files, and +# CMakeLists.txt config out of the advertised language mix. Prefer +# -linguist-detectable over linguist-detectable=false. + +# Default: detect text, normalize to LF in the repository +* text=auto + +# --- Source --- +*.c text diff=cpp +*.c++ text diff=cpp +*.cc text diff=cpp +*.cpp text diff=cpp +*.cxx text diff=cpp +*.h text diff=cpp +*.h++ text diff=cpp +*.hh text diff=cpp +*.hpp text diff=cpp +*.hxx text diff=cpp +*.inc text +*.inl text +*.ipp text +*.tcc text +*.tpp text + +# --- Build / config --- +*.am text +*.cmake text +*.m4 text +*.mak text +*.mk text +*akefile text +CMakeLists.txt text +configure text eol=lf +configure.ac text + +# --- Scripts --- +*.bash text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf +*.ps1 text eol=crlf +*.sh text eol=lf +*.zsh text eol=lf + +# --- Docs / meta --- +*.adoc text +*.markdown text diff=markdown +*.md text diff=markdown +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +LICENSE text +NEWS text +README text +TODO text +.gitattributes text +.gitignore text + +# --- Serialisation --- +*.json text +*.toml text +*.xml text +*.yaml text +*.yml text + +# --- Compiled / binary artefacts --- +*.a binary +*.dll binary +*.dylib binary +*.exe binary +*.gch binary +*.la binary +*.lai binary +*.lib binary +*.lo binary +*.o binary +*.obj binary +*.out binary +*.pch binary +*.slo binary +*.so binary + +# --- Archives / images (common) --- +*.gif binary +*.gz binary +*.ico binary +*.jpeg binary +*.jpg binary +*.png binary +*.tar binary +*.zip binary + +# --- GitHub Linguist --- +**/build/** linguist-generated +**/cmake-build-*/** linguist-generated + +# Classification (C-primary / C API with C++ tests; *.cmake as CMake scripts) *.c linguist-language=C *.cmake linguist-language=CMake -*.cmd linguist-detectable=false *.cpp linguist-language=C++ *.cxx linguist-language=C++ -*.dsp linguist-detectable=false -*.dsw linguist-detectable=false *.h linguist-language=C *.hpp linguist-language=C++ -*.html linguist-detectable=false *.hxx linguist-language=C++ -*.sh linguist-detectable=false -*.sln linguist-detectable=false -*.vcxproj linguist-detectable=false -*.vimrc linguist-detectable=false -CMakeLists.txt linguist-language=CMake -makefile linguist-detectable=false + +# Keep the bar on library languages (helpers / legacy IDE / docs / +# CMakeLists.txt config; leave *.cmake detectable as CMake) +*.cmd -linguist-detectable +*.dsp -linguist-detectable +*.dsw -linguist-detectable +*.html -linguist-detectable +*.sh -linguist-detectable +*.sln -linguist-detectable +*.vcxproj -linguist-detectable +*.vimrc -linguist-detectable +CMakeLists.txt -linguist-detectable +makefile -linguist-detectable diff --git a/.gitignore b/.gitignore index 2f23bc86..226c1608 100644 --- a/.gitignore +++ b/.gitignore @@ -1,125 +1,133 @@ +# Synesis Information Systems .gitignore for C / C++ libraries + # directories (by name) -/.git-old/ -/.vs/ +bin/ +ideas/ +ipch/ +lib/ +scripts/internal/ +Win32/ +x64/ + +.idea/ +.svn/ +.vs/ + +__pycache__/ +/_analyses/ +/_build-ci/ /_build/ /_internal/ -/bin/ -/ipch/ -/lib/ - -/doc/ +/docs/ /dox/ /ideas/ +/include/xcontract/ +/include/xcover/ +/included/ +/node_modules/ /releases/ /scratch/ +/src/xcontract/ +/src/xcover/ +/target/ /temp/ -/--include -/--src -/-include -/-src - -include/b64/ -include/shwild/ -include/xcontract/ -include/xcover/ -include/xtests/ - -src/b64/ -src/shwild/ -src/xcontract/ -src/xcover/ -src/xtests/ - -.svn/ - -/examples/bin -/examples/c/bin -/examples/cpp/bin - -/examples/lib -/examples/c/lib -/examples/cpp/lib - -projects/util/vc10-generated/ - -perf_test/ - - -scripts/internal/ +/examples/bin/ +/examples/c/bin/ +/examples/c/lib/ +/examples/cpp/bin/ +/examples/cpp/lib/ +/examples/lib/ +Debug Multithreaded Dll/ Debug Multithreaded DLL/ +Debug Multithreaded pseudoUnix/ +Debug Multithreaded pseudoUNIX/ Debug Multithreaded/ Debug/ -DebugDLLUNIX/ DebugDll/ +DebugDLL/ +DebugDLLUNIX/ DebugMt/ +DebugMTDll/ +DebugMTDLL/ +DebugMTUnix/ +DebugNox/ +DebugUnix/ +DebugUNIX/ +Release Multithreaded Dll/ Release Multithreaded DLL/ +Release Multithreaded pseudoUnix/ +Release Multithreaded pseudoUNIX/ Release Multithreaded/ Release/ -ReleaseDLLUNIX/ ReleaseDll/ +ReleaseDLL/ +ReleaseDLLUNIX/ ReleaseMt/ +ReleaseMTDll/ +ReleaseMTDLL/ +ReleaseMTUnix/ +ReleaseNox/ +ReleaseUnix/ +UDebug/ +UDebugMt/ +Unicode Debug Multithreaded Dll/ Unicode Debug Multithreaded DLL/ Unicode Debug Multithreaded/ Unicode Debug/ +Unicode Release Multithreaded Dll/ Unicode Release Multithreaded DLL/ Unicode Release Multithreaded/ Unicode Release/ - -vc71/ -vc8/ -vc9/ - -Win32/ -x64/ +URelease/ +UReleaseMt/ # directories (by pattern) -/build/ar* -/build/bc5* -/build/como* -/build/cw* -/build/icl* -/build/vc5* -/build/*.zip +/include-*/ # files (by name) .DS_Store + +.classpath +.env.development.local +.env.local +.env.production.local +.env.test.local .ruby-version +.svnignore +.svnignore-at-root .update_deps +build/CMakeCache.txt +build/makefile.tmpl +build/makefile.tools.xml +build/shwild.tmplgen +include/pantheios/internal/dos2unix.has.been.performed +include/stlsoft/dos2unix.has.been.performed +include/stlsoft/internal/dos2unix.has.been.performed list_changes.cmd logging-bailout.txt prepare.cmd +sh.exe.stackdump +test/testpatterns.orj +test/tests-plan.txt tidydir.cmd update_deps.cmd -build/makefile.tmpl -build/makefile.tools.xml - -include/pantheios/internal/dos2unix.has.been.performed - -projects/core/vc10/pantheios.core.2.vcxproj - -# TODO: remove these exclusions when be.loader released -include/pantheios/backends/bec.loader.h -src/backends/be/be.loader.c -src/backends/bec.loader.cpp -src/backends/bel/bel.loader.c -src/backends/ber/ber.loader.c - # files (by pattern) *~ +*.*~ *.???_obj *.a *.app @@ -127,12 +135,16 @@ src/backends/ber/ber.loader.c *.b64 *.bak *.chm +*.class +*.csproj*user *.d +*.diff *.dll *.dsp *.dylib *.exe *.gch +*.gem *.idb *.ilk *.iobj @@ -152,6 +164,7 @@ src/backends/ber/ber.loader.c *.out *.pch *.pdb +*.pyc *.rar *.res *.sbr @@ -160,22 +173,42 @@ src/backends/ber/ber.loader.c *.slo *.so *.suo +*.sw[ponm] *.swp +*.test *.tlog *.tmp *.unsuccessfulbuild -*.vcproj*.user -*.vcxproj*.user +*.VC.db +*.VC.opendb *.xcuserstate *.zip +/build/*.tmpl +/build/*.tmplgen +/build/*.tools.xml +/build/*.zip +/build/ar* +/build/bc5* +/build/como* +/build/cw* +/build/gcc3* +/build/gcc4* +/build/icl* +/build/vc5* + RCa0* RCb0* +npm-debug.log* +yarn-debug.log* +yarn-error.log* + *.vc71.sln *.vc8.sln *.vc9.sln +*.vcproj*.user +*.vcproj*user +*.vcxproj*.user +*.vcxproj*user -build/*.tmplgen -build/*.tmpl -build/*.tools.xml diff --git a/.vimrc b/.vimrc index 1bf33a0e..cebe6af5 100644 --- a/.vimrc +++ b/.vimrc @@ -42,29 +42,29 @@ autocmd BufWritePre * %s/\s\+$//e augroup sis_c_cxx autocmd! + " [bat] + autocmd FileType bat,dosbatch setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=60,76 " [c] / [cpp] autocmd FileType c,cpp setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=60,64,68,72,76 - " [rust] - autocmd FileType rs setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=76 - " [cmake] autocmd FileType cmake setlocal noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 - " [shellscript] - autocmd FileType sh,bash,zsh setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 colorcolumn=60,76 - - " [bat] - autocmd FileType bat,dosbatch setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=60,76 - - " [json] / [markdown] / [yaml] / [ruby] - autocmd FileType json,markdown,yaml,ruby setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 + " [json] / [markdown] / [ruby] / [yaml] + autocmd FileType json,markdown,ruby,yaml setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 " [python] autocmd FileType python setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=60,76 + " [rust] + autocmd FileType rs setlocal expandtab tabstop=4 shiftwidth=4 softtabstop=4 colorcolumn=76 + + " [shellscript] + autocmd FileType bash,sh,zsh setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 colorcolumn=60,76 + " [toml] autocmd FileType toml setlocal noexpandtab tabstop=2 shiftwidth=2 softtabstop=2 + augroup END diff --git a/.vscode/settings.json b/.vscode/settings.json index a20fc3ce..6aa78f6c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,7 @@ "editor.defaultFormatter": "ms-vscode.cpptools", "editor.formatOnSave": true, "editor.insertSpaces": true, - "editor.rulers": [ 60, 64, 68, 72, 76 ], + "editor.rulers": [ 60, 64, 68, 72, 76, 120 ], "editor.tabSize": 4, }, "[cmake]": { @@ -19,7 +19,7 @@ "editor.defaultFormatter": "ms-vscode.cpptools", "editor.formatOnSave": true, "editor.insertSpaces": true, - "editor.rulers": [ 60, 64, 68, 72, 76 ], + "editor.rulers": [ 60, 64, 68, 72, 76, 120 ], "editor.tabSize": 4, }, "[json]": { @@ -38,6 +38,7 @@ }, "[ruby]": { "editor.insertSpaces": true, + "editor.rulers": [ 60, 76 ], "editor.tabSize": 2, }, "[shellscript]": { @@ -70,6 +71,11 @@ "editor.rulers": [ 76 ], "editor.tabSize": 2, "files.associations": { + "*.gemspec": "ruby", + "*.mdoc": "troff", + "*.roff": "troff", + "Gemfile": "ruby", + "Rakefile": "ruby", "__bit_reference": "cpp", "__bits": "cpp", "__config": "cpp", @@ -90,13 +96,17 @@ "__tuple": "cpp", "__verbose_abort": "cpp", "algorithm": "cpp", + "api.h": "c", "array": "cpp", "atomic": "cpp", + "auto_buffer.h": "c", "bit": "cpp", "bitset": "cpp", "cctype": "cpp", "charconv": "cpp", "chrono": "cpp", + "clasp.h": "c", + "cli_helpers.h": "c", "clocale": "cpp", "cmath": "cpp", "compare": "cpp", @@ -123,6 +133,7 @@ "functional": "cpp", "implicit_link.h": "c", "initializer_list": "cpp", + "invoke.h": "c", "io.h": "c", "iomanip": "cpp", "ios": "cpp", @@ -133,29 +144,39 @@ "limits": "cpp", "list": "cpp", "locale": "cpp", + "main.h": "c", "map": "cpp", "memory": "cpp", "memory_resource": "cpp", "mutex": "cpp", + "net_helpers.h": "c", "new": "cpp", "numbers": "cpp", "numeric": "cpp", "optional": "cpp", "ostream": "cpp", + "path_functions.h": "c", "print": "cpp", "queue": "cpp", "random": "cpp", "ranges": "cpp", "ratio": "cpp", + "rc.h": "c", + "recls.h": "c", + "result_codes_.h": "c", "semaphore": "cpp", "set": "cpp", "setenv.h": "c", "shwild.h": "c", + "sleep_functions.h": "c", "span": "cpp", "sstream": "cpp", "stack": "cpp", + "stdatomic.h": "c", + "stdbool.h": "c", "stdexcept": "cpp", "stdio.h": "c", + "stock.h": "c", "stop_token": "cpp", "streambuf": "cpp", "string": "cpp", @@ -164,6 +185,7 @@ "terse-api.h": "c", "text_encoding": "cpp", "thread": "cpp", + "trace.h": "c", "tuple": "cpp", "type_traits": "cpp", "typeinfo": "cpp", @@ -174,6 +196,7 @@ "utility": "cpp", "variant": "cpp", "vector": "cpp", + "williamscrc.h": "c", "xfacet": "cpp", "xhash": "cpp", "xiosbase": "cpp", diff --git a/CHANGES.md b/CHANGES.md index 4ba63b84..9fbee9dd 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,17 @@ # Pantheios - Changes +## Unreleased + +* Applied **misc-dev-scripts** **0.6.0** editor/Git/`.sis` drop-in templates on **boilerplate**; +* Restored historical **.gitignore** patterns as a sorted union with **misc-dev-scripts** gold section layout; + + +## 1.0.1-rc3 - 10th September 2026 + +T.B.C. + + ## 1.0.1-rc2 - 6th September 2026 * **CMake** package configuration: loaded `CMakeFindDependencyMacro` and added conditional `find_dependency()` calls for **STLSoft** and **b64** in **`pantheios-config.cmake`**; ensures exported static targets (such as `Pantheios::Pantheios.core`) provide transitive interface link dependencies (`b64::core`, `STLSoft::STLSoft`) to downstream consumers without requiring callers to invoke `find_package(b64)` manually; diff --git a/INSTALL.md b/INSTALL.md index f7d2761e..dca7224d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -128,7 +128,7 @@ $ sudo cmake --install ${SIS_CMAKE_BUILD_DIR:-./_build} --config Release 1. Download the latest distributions; Obtain the latest releases of **Pantheios** and **STLSoft** from: -* [Pantheios GitHub project](https://github.com/synesissoftware/Pantheios/tags), e.g. [**Pantheios-1.0.1-rc2.zip**](https://github.com/synesissoftware/Pantheios/archive/refs/tags/1.0.1-rc2.zip); +* [Pantheios GitHub project](https://github.com/synesissoftware/Pantheios/tags), e.g. [**Pantheios-1.0.1-rc3.zip**](https://github.com/synesissoftware/Pantheios/archive/refs/tags/1.0.1-rc3.zip); * [STLSoft GitHub project](https://github.com/synesissoftware/STLSoft/tags), e.g. [**STLSoft-1.11.1-rc4**](https://github.com/synesissoftware/STLSoft/archive/refs/tags/STLSoft-1.11.1-rc4); @@ -137,7 +137,7 @@ Obtain the latest releases of **Pantheios** and **STLSoft** from: ```bash $ mkdir -p ~/open-source $ cd ~/open-source -$ unzip Pantheios-1.0.1-rc2.zip +$ unzip Pantheios-1.0.1-rc3.zip $ unzip STLSoft-1.11.1-rc4 ``` @@ -146,7 +146,7 @@ $ unzip STLSoft-1.11.1-rc4 4. Select and change to the appropriate build subdirectory under your **Pantheios** directory, e.g. **build/gcc48.unix**, and then execute make ```bash -$ cd Pantheios-1.0.1-rc2 +$ cd Pantheios-1.0.1-rc3 $ cd build/gcc48.unix $ make ``` diff --git a/NEWS.md b/NEWS.md index 51dc7b96..994d59fb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -3,6 +3,7 @@ | Date | News Item | | -------------- | -------------------------------------------------------------------------------- | +| 10th Sep 2026 | [Pantheios 1.0.1-rc3 released](https://github.com/synesissoftware/Pantheios/releases/tag/1.0.1-rc3) | | 6th Sep 2026 | [Pantheios 1.0.1-rc2 released](https://github.com/synesissoftware/Pantheios/releases/tag/1.0.1-rc2) | | 5th Aug 2026 | [Pantheios 1.0.1-rc1 released](https://github.com/synesissoftware/Pantheios/releases/tag/1.0.1-rc1) | | 18th Nov 2024 | Pantheios 1.0.1-beta222 released | diff --git a/TODO.md b/TODO.md index da06c0b3..2998a755 100644 --- a/TODO.md +++ b/TODO.md @@ -4,9 +4,24 @@ ## Functional improvements -### CI / tooling +### 1.0.1-rc3 (10th September 2026) -* [ ] Re-enable **test.unit.bec.COMErrorObject** on MinGW once **xTests** fixes multibyte string-equality helpers for GCC two-phase lookup (shim overloads declared after **xtests.h** is included); currently skipped in **test/unit/CMakeLists.txt**; +* [ ] CI refactoring; +* [ ] **README.md** (and other project markdown) significant enhancement (in a similar vein as has been done for **xqsr3** (Ruby)); +* [ ] Integration of **woad**; +* [ ] Using **AnsiConsole**; +* [ ] Using **ACE**; + + +### 1.0.1 final release (nice-to-have / non-mandatory) + +Candidates to consider for the final 1.0.1 release if time permits, but non-blocking: + +* [ ] Re-enable **test.unit.bec.COMErrorObject** on **MinGW** once **xTests** fixes multibyte string-equality helpers for GCC two-phase lookup (shim overloads declared after **xtests.h** is included); currently skipped in **test/unit/CMakeLists.txt**; +* [ ] Review all download/build/install documentation (**INSTALL.md**); +* [ ] Component test for **be.WindowsSyslog**; +* [ ] Sort out `\file` Doxygen fields across headers; +* [ ] Prune obsolete compiler and IDE project-file items from **TODO.md** (VS '98 through 2010, Turbo C++, Comeau, Xcode project-file generators); ### Pantheios 1.0 TODOs diff --git a/build_cmake.sh b/build_cmake.sh index 9d45ca9d..d9a0d5cf 100755 --- a/build_cmake.sh +++ b/build_cmake.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} MakeCmd=${SIS_CMAKE_COMMAND:-make} diff --git a/clean_cmake.sh b/clean_cmake.sh index 053c8555..e07f7fad 100755 --- a/clean_cmake.sh +++ b/clean_cmake.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} MakeCmd=${SIS_CMAKE_COMMAND:-make} diff --git a/include/pantheios/pantheios.h b/include/pantheios/pantheios.h index 373391d8..c7251b84 100644 --- a/include/pantheios/pantheios.h +++ b/include/pantheios/pantheios.h @@ -4,7 +4,7 @@ * Purpose: Pantheios Core and Util APIs. * * Created: 21st June 2005 - * Updated: 6th September 2026 + * Updated: 17th September 2026 * * Home: http://www.pantheios.org/ * @@ -59,8 +59,8 @@ #ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION # define PANTHEIOS_VER_PANTHEIOS_H_PANTHEIOS_MAJOR 3 # define PANTHEIOS_VER_PANTHEIOS_H_PANTHEIOS_MINOR 54 -# define PANTHEIOS_VER_PANTHEIOS_H_PANTHEIOS_REVISION 12 -# define PANTHEIOS_VER_PANTHEIOS_H_PANTHEIOS_EDIT 395 +# define PANTHEIOS_VER_PANTHEIOS_H_PANTHEIOS_REVISION 13 +# define PANTHEIOS_VER_PANTHEIOS_H_PANTHEIOS_EDIT 396 #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ /** @@ -119,13 +119,14 @@ # define PANTHEIOS_VER_1_0_1_B224 0x010001e0 # define PANTHEIOS_VER_1_0_1_RC1 0x010001e1 /* NOTE: e1 is required just to step over the prior 1.0.1 beta version values */ # define PANTHEIOS_VER_1_0_1_RC2 0x010001e2 +# define PANTHEIOS_VER_1_0_1_RC3 0x010001e3 # define PANTHEIOS_VER_1_0_1 0x010001ff #endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ #define PANTHEIOS_VER_MAJOR 1 #define PANTHEIOS_VER_MINOR 0 #define PANTHEIOS_VER_PATCH 1 -#define PANTHEIOS_VER_ALPHABETA 0xE2 +#define PANTHEIOS_VER_ALPHABETA 0xE3 #define PANTHEIOS_VER \ (0\ @@ -135,7 +136,9 @@ | ( PANTHEIOS_VER_ALPHABETA << 0 ) \ ) -#define PANTHEIOS_VER_REVISION PANTHEIOS_VER_PATCH +#ifndef PANTHEIOS_DOCUMENTATION_SKIP_SECTION +# define PANTHEIOS_VER_REVISION PANTHEIOS_VER_PATCH +#endif /* !PANTHEIOS_DOCUMENTATION_SKIP_SECTION */ /* ///////////////////////////////////////////////////////////////////////// diff --git a/libver.sh b/libver.sh index 68fc9c2a..e293ee87 100755 --- a/libver.sh +++ b/libver.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} MakeCmd=${SIS_CMAKE_COMMAND:-make} diff --git a/prepare_cmake.sh b/prepare_cmake.sh index abbae162..616c8778 100755 --- a/prepare_cmake.sh +++ b/prepare_cmake.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} MakeCmd=${SIS_CMAKE_COMMAND:-make} diff --git a/remove_cmake_artefacts.sh b/remove_cmake_artefacts.sh index e09e895a..796aef33 100755 --- a/remove_cmake_artefacts.sh +++ b/remove_cmake_artefacts.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} ProjectNameFile="$Dir/.sis/project_name.txt" diff --git a/run_all_examples.sh b/run_all_examples.sh index 9be5257d..a1ee307a 100755 --- a/run_all_examples.sh +++ b/run_all_examples.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} [[ -n "$MSYSTEM" ]] && DefaultMakeCmd=mingw32-make.exe || DefaultMakeCmd=make diff --git a/run_all_scratch_tests.sh b/run_all_scratch_tests.sh index 6cc424dc..24598233 100755 --- a/run_all_scratch_tests.sh +++ b/run_all_scratch_tests.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} MakeCmd=${SIS_CMAKE_COMMAND:-make} diff --git a/run_all_unit_tests.sh b/run_all_unit_tests.sh index c378c788..305d57ef 100755 --- a/run_all_unit_tests.sh +++ b/run_all_unit_tests.sh @@ -1,7 +1,7 @@ #! /bin/bash ScriptPath=$0 -Dir=$(cd $(dirname "$ScriptPath"); pwd) +Dir=$(cd "$(dirname "$ScriptPath")" && pwd) Basename=$(basename "$ScriptPath") CMakeDir=${SIS_CMAKE_BUILD_DIR:-$Dir/_build} [[ -n "$MSYSTEM" ]] && DefaultMakeCmd=mingw32-make.exe || DefaultMakeCmd=make diff --git a/test/scratch/CMakeLists.txt b/test/scratch/CMakeLists.txt index e7fe84bf..c18964e2 100644 --- a/test/scratch/CMakeLists.txt +++ b/test/scratch/CMakeLists.txt @@ -1,6 +1,5 @@ -add_subdirectory(libver) add_subdirectory(test.scratch.I18N) if(_BUILD_AS_WIN32) @@ -89,6 +88,8 @@ if(NOT PANTHEIOS_USE_WIDE_STRINGS) add_subdirectory(test.scratch.util.onbailout) endif() +add_subdirectory(versions) + # ############################## end of file ############################# # diff --git a/test/scratch/libver/CMakeLists.txt b/test/scratch/versions/CMakeLists.txt similarity index 55% rename from test/scratch/libver/CMakeLists.txt rename to test/scratch/versions/CMakeLists.txt index 93746498..9d765552 100644 --- a/test/scratch/libver/CMakeLists.txt +++ b/test/scratch/versions/CMakeLists.txt @@ -1,18 +1,18 @@ -add_executable(libver +add_executable(versions main.cpp ) -target_include_directories(libver +target_include_directories(versions PRIVATE ${CMAKE_SOURCE_DIR}/include ) -target_link_STLSoft(libver) +target_link_STLSoft(versions) if(b64_FOUND) - target_link_libraries(libver + target_link_libraries(versions PRIVATE b64::core ) @@ -20,15 +20,15 @@ endif(b64_FOUND) if(shwild_FOUND) - target_link_shwild(libver) + target_link_shwild(versions) endif(shwild_FOUND) if(xTests_FOUND) - target_link_xTests(libver) + target_link_xTests(versions) endif(xTests_FOUND) -define_target_compile_options(libver) +define_target_compile_options(versions) # ############################## end of file ############################# # diff --git a/test/scratch/libver/main.cpp b/test/scratch/versions/main.cpp similarity index 69% rename from test/scratch/libver/main.cpp rename to test/scratch/versions/main.cpp index d91a89ab..0a633572 100644 --- a/test/scratch/libver/main.cpp +++ b/test/scratch/versions/main.cpp @@ -1,11 +1,11 @@ /* ///////////////////////////////////////////////////////////////////////// - * File: test/scratch/libver/main.cpp + * File: test/scratch/versions/main.cpp * * Purpose: Lists composite version macros for Pantheios and its * dependencies. * * Created: 4th August 2026 - * Updated: 4th August 2026 + * Updated: 17th September 2026 * * ////////////////////////////////////////////////////////////////////// */ @@ -30,6 +30,7 @@ # include #endif +#include #include #include @@ -46,13 +47,16 @@ template< void version( T_stream& stm +, char const* prefix , char const* libname +, char const* macroname , T_integer libver ) { stm + << prefix << libname - << " v" + << ": v" << ((libver >> 24) & 0xff) << '.' << ((libver >> 16) & 0xff) @@ -60,6 +64,13 @@ version( << ((libver >> 8) & 0xff) << '.' << ((libver >> 0) & 0xff) + << " (" + << macroname + << " = 0x" + << std::hex << std::setfill('0') << std::setw(8) + << static_cast(libver) + << std::dec + << ")" << std::endl ; } @@ -74,13 +85,15 @@ int main(int /* argc */, char* /* argv */[]) { unsigned const libver = PANTHEIOS_VER; - version(std::cout, "\tPantheios", libver); + version(std::cout, "", "Pantheios", "PANTHEIOS_VER", libver); } + std::cout << "\n" << "efferent dependencies:" << std::endl; + { unsigned const libver = _STLSOFT_VER; - version(std::cout, "\tSTLSoft", libver); + version(std::cout, "\t", "STLSoft", "_STLSOFT_VER", libver); } #ifdef HAS_b64 @@ -88,7 +101,7 @@ int main(int /* argc */, char* /* argv */[]) { unsigned const libver = B64_VER; - version(std::cout, "\tb64", libver); + version(std::cout, "\t", "b64", "B64_VER", libver); } #endif @@ -97,7 +110,7 @@ int main(int /* argc */, char* /* argv */[]) { unsigned const libver = SHWILD_VER; - version(std::cout, "\tshwild", libver); + version(std::cout, "\t", "shwild", "SHWILD_VER", libver); } #endif @@ -106,7 +119,7 @@ int main(int /* argc */, char* /* argv */[]) { unsigned const libver = _XTESTS_VER; - version(std::cout, "\txTests", libver); + version(std::cout, "\t", "xTests", "_XTESTS_VER", libver); } #endif diff --git a/test/unit/test.unit.getversion/test.unit.getversion.c b/test/unit/test.unit.getversion/test.unit.getversion.c index f888a7b3..43542e91 100644 --- a/test/unit/test.unit.getversion/test.unit.getversion.c +++ b/test/unit/test.unit.getversion/test.unit.getversion.c @@ -151,7 +151,7 @@ static void test_composite(void) TEST_INT_EQ(expected, PANTHEIOS_VER); TEST_INT_EQ(expected, pantheios_getVersion()); - TEST_INT_EQ(PANTHEIOS_VER_1_0_1_RC2, PANTHEIOS_VER); + TEST_INT_EQ(PANTHEIOS_VER_1_0_1_RC3, PANTHEIOS_VER); }