Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross platform and proplib2.0 #6

Merged
merged 322 commits into from
Jan 14, 2025
Merged
Changes from 1 commit
Commits
Show all changes
322 commits
Select commit Hold shift + click to select a range
6166224
Update CONTRIBUTING.md
aromanielloNTIA Nov 1, 2024
9973e14
fix migration mistakes
aromanielloNTIA Nov 1, 2024
1c31ce3
formatting
aromanielloNTIA Nov 1, 2024
6e2f823
Enable compiler warnings with cmake
aromanielloNTIA Nov 1, 2024
67d6493
Change template namespace
aromanielloNTIA Nov 1, 2024
245b8dd
Update docsOnly preset
aromanielloNTIA Nov 1, 2024
3b19af1
clang-format all files
aromanielloNTIA Nov 1, 2024
f732c73
Fix table formatting
aromanielloNTIA Nov 1, 2024
a9a28a1
Let developers handle compiler warning settings
aromanielloNTIA Nov 1, 2024
6c6a25e
driver utils updates
aromanielloNTIA Nov 4, 2024
5cc0edc
Consistent order for GTest comparisons
aromanielloNTIA Nov 4, 2024
2b3eb08
cleanup driver printing code
aromanielloNTIA Nov 5, 2024
496fba6
.gitignore binaries in wrappers
aromanielloNTIA Nov 5, 2024
cc867b1
ignore derived files from wrappers
aromanielloNTIA Nov 8, 2024
649203b
fix template code so tests all pass
aromanielloNTIA Nov 8, 2024
9d98550
Run actions on template
aromanielloNTIA Nov 8, 2024
2f55d04
remove template condition
aromanielloNTIA Nov 8, 2024
07484c3
build docs on push to main or dev
aromanielloNTIA Nov 8, 2024
d4146b5
cleanup includes
aromanielloNTIA Nov 8, 2024
3624162
Update badges, add links to other template repos
aromanielloNTIA Nov 12, 2024
47fa78e
Merge remote-tracking branch 'proplib-template/main' into CrossPlatfo…
cheroy-ntia Nov 12, 2024
0bdcb59
update library source
cheroy-ntia Nov 12, 2024
795a9f0
add library google test
cheroy-ntia Nov 12, 2024
391578f
add cmakelist for library
cheroy-ntia Nov 12, 2024
196cfe6
Add Driver source
cheroy-ntia Nov 12, 2024
f4f7ba0
Add template citation file
aromanielloNTIA Nov 12, 2024
fb9f130
Add template zenodo file
aromanielloNTIA Nov 12, 2024
7829fae
Put platform name in driver filename
aromanielloNTIA Nov 12, 2024
587fc5a
Update release action for cross platform driver
aromanielloNTIA Nov 12, 2024
b283c36
Don't build docs in ctest action
aromanielloNTIA Nov 12, 2024
6505dca
Don't clone unnecessary submodule
aromanielloNTIA Nov 12, 2024
26320fe
Fix windows step condition
aromanielloNTIA Nov 12, 2024
5b966d7
add library tests
cheroy-ntia Nov 12, 2024
a0f9f42
Add Driver Execution tests
cheroy-ntia Nov 13, 2024
b38b23c
update driver docs
cheroy-ntia Nov 13, 2024
f44a605
Rename GetDrvrReturnStatus to GetDrvrReturnStatusMsg
aromanielloNTIA Nov 13, 2024
19b2e9d
unique variable name in class methods
aromanielloNTIA Nov 13, 2024
3efc889
clean up
cheroy-ntia Nov 13, 2024
b14ccc8
add driver test
cheroy-ntia Nov 13, 2024
a34e9d9
Merge branch 'proplib-template-main' into CrossPlatform-And-PropLib2.0
cheroy-ntia Nov 13, 2024
e871d7b
merge template
cheroy-ntia Nov 13, 2024
1c48978
clean up
cheroy-ntia Nov 14, 2024
d1d9990
add TestLFMFSmoothEarth
cheroy-ntia Nov 14, 2024
0a39e8c
clean up
cheroy-ntia Nov 14, 2024
cd23fe6
update docs
cheroy-ntia Nov 14, 2024
97b6800
Add public release approval form template
aromanielloNTIA Nov 14, 2024
7825039
fix file name
aromanielloNTIA Nov 14, 2024
ac8c21b
rename to TrstLFMFEquivalent
cheroy-ntia Nov 14, 2024
84cb47d
Merge branch 'proplib-template-main' into CrossPlatform-And-PropLib2.0
cheroy-ntia Nov 14, 2024
a4cf2c8
rename tests
cheroy-ntia Nov 14, 2024
8e5a92a
remove cpack
cheroy-ntia Nov 14, 2024
671ea66
update todo-template
cheroy-ntia Nov 15, 2024
db98b0b
update root documents
cheroy-ntia Nov 18, 2024
1420f3c
update library source and tests documentation
cheroy-ntia Nov 18, 2024
c592b8f
update driver documentation
cheroy-ntia Nov 18, 2024
e742909
clean up README
cheroy-ntia Nov 19, 2024
b8e6840
update CTestPreset
cheroy-ntia Nov 19, 2024
3c866b9
update README
cheroy-ntia Nov 19, 2024
231fd2c
Support multiarch on macos runners
aromanielloNTIA Nov 19, 2024
34b4f99
deduplicate macos tests
aromanielloNTIA Nov 19, 2024
c4cd872
simplify test matrix declaration
aromanielloNTIA Nov 19, 2024
ac1057b
add test concurrency override
aromanielloNTIA Nov 19, 2024
fbeb5fb
fix cmakeversion handling in test matrix
aromanielloNTIA Nov 19, 2024
5677607
switch from include to exclude in strategy matrix
aromanielloNTIA Nov 19, 2024
6246571
Add windows-2019 x64 runner for 32-bit Windows builds
aromanielloNTIA Nov 20, 2024
6af645d
Delete .zenodo.json
aromanielloNTIA Nov 20, 2024
7968997
Update Citation template
aromanielloNTIA Nov 20, 2024
d4cde67
Remove legacy DOI badge from readme
aromanielloNTIA Nov 20, 2024
3225da1
Update GitHubRepoPublicReleaseApproval.md
aromanielloNTIA Nov 20, 2024
738bdd9
replace == 0 with abs(v) < 1e-9
cheroy-ntia Nov 21, 2024
513fd3a
add std::abs
cheroy-ntia Nov 21, 2024
16384a5
remove some warnings
cheroy-ntia Nov 21, 2024
3de0d81
temporary add workflows on branch "CrossPlatform-And-PropLib2.0"
cheroy-ntia Nov 21, 2024
ea105a9
//Not used, comments out for compile warning
cheroy-ntia Nov 21, 2024
d34bc18
remove not used variables
cheroy-ntia Nov 21, 2024
e64b0b8
Create cff-validator.yml
aromanielloNTIA Nov 21, 2024
acd2846
Remove name-particle from template citation file
aromanielloNTIA Nov 21, 2024
af1c2d9
Make template citation valid
aromanielloNTIA Nov 21, 2024
366dc88
Compiler and output configuration at top-level
aromanielloNTIA Nov 21, 2024
85207f7
change to < 1.0e-16
cheroy-ntia Nov 21, 2024
0f9ab36
change back to == 0.0
cheroy-ntia Nov 21, 2024
af447ee
Fix file filter on CFF validator
aromanielloNTIA Nov 21, 2024
d070297
Remove wrappers-as-submodules structure
aromanielloNTIA Nov 21, 2024
702cdfd
Link to wrapper repositories in readme
aromanielloNTIA Nov 21, 2024
9dd1c84
More wrapper submodule cleanup
aromanielloNTIA Nov 21, 2024
5a8d982
Use a single interface header file
aromanielloNTIA Nov 21, 2024
1d9c60b
Renamed EXPORTED to PROPLIB_API
aromanielloNTIA Nov 21, 2024
954ea6e
Fix CFF validator path filters
aromanielloNTIA Nov 22, 2024
d1ec139
using AlmostEqualRelative
cheroy-ntia Nov 25, 2024
03b9c0c
add link to driver readme
aromanielloNTIA Nov 26, 2024
45cdfcf
Remove old test data directory structure
aromanielloNTIA Nov 26, 2024
f12f788
Merge branch 'main' into improvements-from-lfmf
aromanielloNTIA Nov 26, 2024
04ef5ce
Use newer add_compile_definitions
aromanielloNTIA Nov 26, 2024
85e79f4
Support (non-default) static library compilation
aromanielloNTIA Nov 26, 2024
15b3d95
Use newer add_compile_definitions
aromanielloNTIA Nov 26, 2024
4ea1395
fix typo
aromanielloNTIA Nov 26, 2024
a621d1e
Add macOS multi-architecture logic
aromanielloNTIA Nov 26, 2024
e9af93e
Merge branch 'main' into support-macos-multiarch-in-CI
aromanielloNTIA Nov 26, 2024
1b6d50f
Add windows x86 runner
aromanielloNTIA Nov 26, 2024
3c27db4
fix matrix architecture exclude
aromanielloNTIA Nov 26, 2024
6ef1124
try OS type name in action matrix names
aromanielloNTIA Nov 26, 2024
193b046
Revert "try OS type name in action matrix names"
aromanielloNTIA Nov 26, 2024
39cd0a1
Add compiler flags
aromanielloNTIA Nov 26, 2024
bcb09a2
Fix incorrect field used
aromanielloNTIA Nov 26, 2024
48db825
epsilon > 1
cheroy-ntia Nov 26, 2024
ad22fc8
add more Equivalence tests
cheroy-ntia Nov 27, 2024
fd371a4
Merge branch 'proplib-template-main' into CrossPlatform-And-PropLib2.0
cheroy-ntia Nov 27, 2024
349d994
update README
cheroy-ntia Nov 29, 2024
f1b65b9
Update release approval form for new data structure
aromanielloNTIA Dec 2, 2024
2e0a554
Link test data template in README
aromanielloNTIA Dec 2, 2024
8bb2fc2
Add DOI badge to README template
aromanielloNTIA Dec 2, 2024
8596ae5
Add template zenodo file
aromanielloNTIA Dec 2, 2024
27aa7f2
Fix resource_type in zenodo file
aromanielloNTIA Dec 2, 2024
18d9dfd
remove not used test data
cheroy-ntia Dec 3, 2024
191fe16
include library version in return status messages
aromanielloNTIA Dec 3, 2024
c3502e1
update comment
aromanielloNTIA Dec 3, 2024
df52dea
Add documentation for test utils
aromanielloNTIA Dec 3, 2024
dabd728
Add missing return value, add error message
aromanielloNTIA Dec 3, 2024
5ec53a7
Add version to driver error messages
aromanielloNTIA Dec 3, 2024
d75bb49
Remove redundant cxx_std_11
aromanielloNTIA Dec 3, 2024
188dd53
Add missing braces
aromanielloNTIA Dec 3, 2024
e0a4ccc
Consistent use of std::size_t
aromanielloNTIA Dec 3, 2024
5b2a79a
Update NTIA logo
aromanielloNTIA Dec 4, 2024
ce8f8e4
enum for int define
cheroy-ntia Dec 5, 2024
c433954
update functions inputs
cheroy-ntia Dec 5, 2024
cbf03b1
update driver inputs
cheroy-ntia Dec 5, 2024
6b7c2c6
Avoid googletest include order errors
aromanielloNTIA Dec 5, 2024
90e0fb5
Use target-compile-features
aromanielloNTIA Dec 5, 2024
a57f6d6
Update comment
aromanielloNTIA Dec 5, 2024
3e6d6f8
clean up
cheroy-ntia Dec 6, 2024
9b865ee
add missing include
cheroy-ntia Dec 6, 2024
cc956f6
clean up
cheroy-ntia Dec 9, 2024
4896398
update test data and clean up debug lines
cheroy-ntia Dec 10, 2024
b5fb8ac
update test data
cheroy-ntia Dec 10, 2024
3d3188d
Add always-passing test to verify discovery
aromanielloNTIA Dec 11, 2024
be5c654
Reintroduce 32-bit configuration, improve CMake status messages
aromanielloNTIA Dec 11, 2024
b441333
fix preset names, add 32-bit step to CI test
aromanielloNTIA Dec 11, 2024
290d2bc
Correct minimum required CMake version
aromanielloNTIA Dec 11, 2024
2450e29
compiler-dependent handling of 32-bit compiler options
aromanielloNTIA Dec 12, 2024
776cd3c
add comment
aromanielloNTIA Dec 12, 2024
8e69970
Set C++11 requirements, improve compiler option generators
aromanielloNTIA Dec 12, 2024
97a28be
update comments, remove dead code
aromanielloNTIA Dec 12, 2024
4fb9e6b
Add CTest presets for CI testing
aromanielloNTIA Dec 12, 2024
9fdce23
avoid CMAKE_GENERATOR_PLATFORM in 32-bit presets
aromanielloNTIA Dec 12, 2024
a212ad2
Manually format datetime to avoid compiler warning
aromanielloNTIA Dec 12, 2024
b6baf82
Fix missing variable indicators
aromanielloNTIA Dec 12, 2024
7aabe1d
Attempt allowing universal macOS builds with Ninja generator
aromanielloNTIA Dec 12, 2024
2f57f74
update release/debug handling, set generator platform on windows
aromanielloNTIA Dec 12, 2024
941970f
Skip expectation of proplib_config_type for docsOnly
aromanielloNTIA Dec 12, 2024
50d174e
Fix 32-bit builds from 64-bit windows
aromanielloNTIA Dec 12, 2024
25f603e
Minimize release action matrix; add 32-bit config
aromanielloNTIA Dec 12, 2024
24ae82d
Add macos-13 intel runner to matrix
aromanielloNTIA Dec 12, 2024
328669d
Adjust name for action run, add workflow_dispatch
aromanielloNTIA Dec 12, 2024
a3b81b1
Attempt static linking for g++ compiling
aromanielloNTIA Dec 12, 2024
1f532fb
editorial review updates
aromanielloNTIA Dec 12, 2024
b2c0cdf
Rename targets to group alphabetically
aromanielloNTIA Dec 12, 2024
b4cd860
Correct use of environment variables,
aromanielloNTIA Dec 12, 2024
dd6e305
ignore CMakeUserPresets.json
aromanielloNTIA Dec 12, 2024
d040cf7
Ignore CMakeUserPresets.json
aromanielloNTIA Dec 12, 2024
f832f11
debug release action
aromanielloNTIA Dec 12, 2024
ae933ef
fix condition in debug
aromanielloNTIA Dec 12, 2024
03458eb
update test data
cheroy-ntia Dec 12, 2024
4b59f17
fix typo, add info to status message
aromanielloNTIA Dec 12, 2024
b235df0
Fix CFF validator for Ubuntu 24.04 runner
aromanielloNTIA Dec 12, 2024
07798e4
Fix CITATION.cff validator for Ubuntu 24.04 runners
aromanielloNTIA Dec 12, 2024
8e6912f
update CITATION
cheroy-ntia Dec 17, 2024
645b226
Remove command-line driver README, link to wiki
aromanielloNTIA Dec 18, 2024
7636eaa
Delete app/data folder
aromanielloNTIA Dec 18, 2024
219c717
Remove keyword causing misleading zenodo content
aromanielloNTIA Dec 18, 2024
127fb20
attempt fixing universal macos build
aromanielloNTIA Dec 18, 2024
1ebc864
Remove macOS debugging step
aromanielloNTIA Dec 18, 2024
28b9098
Consistent naming of binaries
aromanielloNTIA Dec 18, 2024
bed1684
cleanup output artifact names
aromanielloNTIA Dec 18, 2024
8bace54
Add C++ header upload to release action
aromanielloNTIA Dec 18, 2024
0f82352
combine platforms into one step
aromanielloNTIA Dec 18, 2024
e9a4259
valid artifact names
aromanielloNTIA Dec 18, 2024
2343fb3
debug multiplatform artifact creation
aromanielloNTIA Dec 18, 2024
72f04b2
Fixed macos and linux file names
aromanielloNTIA Dec 18, 2024
371033f
Correct environment variable usage, update status message
aromanielloNTIA Jan 2, 2025
1e0cdde
Clarify why status may be empty
aromanielloNTIA Jan 2, 2025
32e83bf
Add architecture arg for 32 bit build in release action
aromanielloNTIA Jan 2, 2025
03cc81b
Warn if preset architecture conflicts with -A argument
aromanielloNTIA Jan 2, 2025
53912b8
Change MSVC calling convention to __cdecl
aromanielloNTIA Jan 2, 2025
7473832
Fix filename for linux driver in release action
aromanielloNTIA Jan 2, 2025
4485882
Empty branch for review
aromanielloNTIA Jan 2, 2025
9c65122
Revert "Empty branch for review"
aromanielloNTIA Jan 2, 2025
2691484
Avoid duplicate workflow runs when creating a PR from dev to main
aromanielloNTIA Jan 2, 2025
023b7df
Merge pull request #5 from NTIA/dev
aromanielloNTIA Jan 10, 2025
b36efab
Merge remote-tracking branch 'template/main' into CrossPlatform-And-P…
aromanielloNTIA Jan 10, 2025
027e603
Add license and disclaimer text
aromanielloNTIA Jan 10, 2025
21c1f1f
Remove dead code
aromanielloNTIA Jan 10, 2025
fcce147
Merge remote-tracking branch 'template/main' into CrossPlatform-And-P…
aromanielloNTIA Jan 10, 2025
fe8a146
Populate Zenodo metadata
aromanielloNTIA Jan 10, 2025
ee3c45a
Delete GitHubRepoPublicReleaseApproval.md
aromanielloNTIA Jan 10, 2025
7561844
Populate header file name in release action
aromanielloNTIA Jan 10, 2025
eaea653
Remove config.in files
aromanielloNTIA Jan 10, 2025
8104785
Delete unused driver example input and output files
aromanielloNTIA Jan 10, 2025
5697572
Fix typo
aromanielloNTIA Jan 10, 2025
98591ce
Move LFMF.h to include directory
aromanielloNTIA Jan 10, 2025
a4df36f
Delete win32 directory
aromanielloNTIA Jan 10, 2025
c6cf4ee
Driver cleanup
aromanielloNTIA Jan 10, 2025
eaea28f
Delete .NET wrapper
aromanielloNTIA Jan 10, 2025
a3b3aef
Add LFMF-test-data v1 submodule
aromanielloNTIA Jan 10, 2025
af140c9
Remove old test data
aromanielloNTIA Jan 10, 2025
a663868
Localize imports, use std:: prefix, use constexpr for constant arrays
aromanielloNTIA Jan 10, 2025
63ea0d2
Explicit namespaces, const correctness, localize imports
aromanielloNTIA Jan 10, 2025
a03d7a6
Localize imports, clang-format, explicit namespace, const correctness
aromanielloNTIA Jan 10, 2025
4265606
Correct documentation, localize includes, const correctness, use name…
aromanielloNTIA Jan 10, 2025
39ee7de
Update project name in release form
aromanielloNTIA Jan 13, 2025
186b2b1
Doxygen cleanup
aromanielloNTIA Jan 13, 2025
0c494d4
const correctness, documentation updates, clang-format
aromanielloNTIA Jan 13, 2025
f350b14
Fix CMake preset name in example command
aromanielloNTIA Jan 13, 2025
2b42143
Update test data expected location in example
aromanielloNTIA Jan 13, 2025
3e0293a
Simplify unit tests
aromanielloNTIA Jan 13, 2025
4009329
Temporarily reintroduce validation test data files
aromanielloNTIA Jan 13, 2025
5750f1c
Clean up documentation formatting
aromanielloNTIA Jan 13, 2025
cddec18
Reintroduce validation/comparison tests
aromanielloNTIA Jan 13, 2025
ad7fdaf
Remove unused validation data files
aromanielloNTIA Jan 13, 2025
49a2c27
Localize imports, explicit namespacing, documentation cleanup, clang-…
aromanielloNTIA Jan 13, 2025
f058eea
Documentation cleanup, const correctness
aromanielloNTIA Jan 13, 2025
c11307c
Update ValidateInputs.cpp
aromanielloNTIA Jan 13, 2025
344ecaa
Avoid use of pointers by WiRoot outputs
aromanielloNTIA Jan 13, 2025
7ed36a6
Uses static_cast
aromanielloNTIA Jan 13, 2025
3730d8b
Update formatting for Doxygen
aromanielloNTIA Jan 13, 2025
4eeb38e
Doxygen cleanup, clang-format
aromanielloNTIA Jan 13, 2025
5bc1931
Add LaTeX formatting to Doxygen docs
aromanielloNTIA Jan 14, 2025
3a06057
Clean up wofz, improve documentation, clang-format
aromanielloNTIA Jan 14, 2025
ec885c5
Add correct file descriptions
aromanielloNTIA Jan 14, 2025
9d15d99
docs cleanup
aromanielloNTIA Jan 14, 2025
afbd70c
More const correctness
aromanielloNTIA Jan 14, 2025
d0751fb
Update function declarations for recent changes
aromanielloNTIA Jan 14, 2025
fb68341
Remove unused math macros
aromanielloNTIA Jan 14, 2025
d1cd318
Remove THIRD macro and replace with std::cbrt
aromanielloNTIA Jan 14, 2025
5872c0c
Remove unused unit conversion constants
aromanielloNTIA Jan 14, 2025
2b78b5f
Consistent inline doxygen format
aromanielloNTIA Jan 14, 2025
6a3cd22
Documentation additions, finish renaming enum members
aromanielloNTIA Jan 14, 2025
2b7fad7
clang-format
aromanielloNTIA Jan 14, 2025
ba9c13f
Add missing include
aromanielloNTIA Jan 14, 2025
1a92094
Remove TODO note
aromanielloNTIA Jan 14, 2025
8243b6e
Add descriptions of included tests
aromanielloNTIA Jan 14, 2025
3646794
Use pass-by-reference instead of pointer in main entrypoint
aromanielloNTIA Jan 14, 2025
dea5246
clang-format
aromanielloNTIA Jan 14, 2025
c42ed79
Remove validation tests and local testing code
aromanielloNTIA Jan 14, 2025
b8f5ded
Update project metadata to indicate v1.1
aromanielloNTIA Jan 14, 2025
c32cf18
Merge remote-tracking branch 'template/main' into CrossPlatform-And-P…
aromanielloNTIA Jan 14, 2025
969a365
Clone extern/test-data submodule by default
aromanielloNTIA Jan 14, 2025
57c11b4
Remove test-data submodule from template, keep instructions
aromanielloNTIA Jan 14, 2025
ba956e8
Merge remote-tracking branch 'template/main' into CrossPlatform-And-P…
aromanielloNTIA Jan 14, 2025
d26283c
Initialize test data submodule for CI tests
aromanielloNTIA Jan 14, 2025
4b8e2dd
Remove YES and NO constants
aromanielloNTIA Jan 14, 2025
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
Prev Previous commit
Next Next commit
change to < 1.0e-16
cheroy-ntia committed Nov 21, 2024
commit 85207f7b4661ee3596cfca23f628deefde44987a
5 changes: 3 additions & 2 deletions src/ResidueSeries.cpp
Original file line number Diff line number Diff line change
@@ -67,8 +67,9 @@ double ResidueSeries(double k, double h_1__km, double h_2__km, double nu, double

if (i != 0)
{
if ((abs((GW * GW).real()) + abs((GW * GW).imag())) == 0.0) // when the ground wave is too small, close to 0
//if (((abs((GW * GW).real()) + (abs((GW * GW).imag()))) == 0.0) // when the ground wave is too small, close to 0
//if ((GW.real() * GW.real() + GW.imag() * GW.imag()) < 1.0e-16)
if ((abs((GW * GW).real()) + abs((GW * GW).imag())) < 1.0e-16) // when the ground wave is too small, close to 0
//if ((abs((GW * GW).real()) + (abs((GW * GW).imag()))) == 0.0) // when the ground wave is too small, close to 0
return 0; // end the loop and output E = 0
else if (((abs((G / GW).real())) + (abs((G / GW).imag()))) < 0.0005) // when the new G is too small compared to its series sum
{

Unchanged files with check annotations Beta

}
#endif
char mbstr[100];
if (std::strftime(mbstr, sizeof(mbstr), "%c", &localTime) == 0) {

Check warning on line 33 in app/src/DriverUtils.cpp

GitHub Actions / ubuntu-latest / CMake 3.21

‘%c’ yields only last 2 digits of year in some locales [-Wformat-y2k]

Check warning on line 33 in app/src/DriverUtils.cpp

GitHub Actions / ubuntu-latest / CMake latest

‘%c’ yields only last 2 digits of year in some locales [-Wformat-y2k]
return "Could not format datetime string";
}
return std::string(mbstr);