64 Commits

Author SHA1 Message Date
63a78debae docs(version): version bump v2.0.2 -> v2.0.3
this version disables installing the static lib for reflect-cpp which is not needed since its statically linked and was breaking python installations due to an inability to map the static lib to a path in the wheel
2025-12-20 14:45:23 -05:00
1534e83622 build(reflect-cpp): disable installing static lib 2025-12-20 14:44:17 -05:00
071b78afd7 docs(meson): version bump v2.0.1 -> v2.0.2
this version switches from glaze to reflect cpp
2025-12-06 10:57:04 -05:00
2b4ae17df0 build(gitignore): added tomlplusplus to gitignore 2025-12-06 10:56:31 -05:00
ec13264050 feat(reflect-cpp): Switched from glaze -> reflect cpp
A bug was discovered in glaze which prevented valid toml output. We have
switched to toml++ and reflect-cpp. The interface has remained the same
so this should not break any code
2025-12-06 10:55:46 -05:00
2b5abeae58 docs(readme): added logo and more detail 2025-12-06 08:31:31 -05:00
2a687ec512 fix(glaze): Disable dev mode
Glaze dev mode brings in boost as a dependency. We are trying to remove
boost as a dependencty due to its weight. We disable dev mode to relax
this dependency requirment
2025-12-06 08:11:41 -05:00
47761aaa3d Merge pull request #1 from tboudreaux/feature/reflect
libconfig v2.0.0
2025-12-05 14:52:04 -05:00
64206ccd42 docs(meson): version (v1.0.4 -> v2.0.0)
This change brings the entirley new handling of config based on glaze and using toml

BREAKING CHANGE: All previous code which uses libconfig will no longer work with this new version
2025-12-05 14:28:19 -05:00
05b7b94c83 feat(TOML & Glaze): YAML -> TOML
YAML is a horrid format with far too many edge cases. We have switched
to TOML. Further, we have completly reworked the framework so that

1. There is no longer any global config state. Config objects now must
be passed between scopes by the caller. This will introduce some more
friction but whill also make order of initialization clear
2. Config objects are now strongly typed and there is a single sourth of
truth for any given config object baked in using the some struct.
2025-12-05 14:26:22 -05:00
1a7f4837c6 build(wasm): libconfig now builds and works in wasm 2025-12-03 08:54:33 -05:00
067a3a0d51 fix(yaml-cpp): added proper meson install dir handling 2025-08-11 12:32:04 -04:00
e71bf478d6 build(yaml-cpp): added patch to add cstdint to emitterutils 2025-07-29 08:47:23 -04:00
7dfeb0e088 build(yaml-cpp): disabled yaml-cpp shadow warnings 2025-07-24 08:24:27 -04:00
362055bf05 build(meson.build): added option to disable pkg-config file generation 2025-07-22 13:28:57 -04:00
22980b5240 fix(yaml-cpp): meson_source_root -> global_source_root 2025-06-22 05:52:55 -04:00
29c4fe3abb fix(meson): version bump 2025-06-22 05:30:58 -04:00
299612af7d fix(yaml-cpp): yaml-cpp now installs headers as well to allow for external project linking 2025-06-22 05:30:09 -04:00
07f1e8d7d7 fix(headers): moved all headers to fourdst/ 2025-06-22 04:52:04 -04:00
cfbb7d23e5 fix(header): fixed 2025-06-21 16:45:47 -04:00
fa6209e8f3 feat(headers): moved 2025-06-21 16:17:34 -04:00
9a7dd54099 feat(headers): update header install paths 2025-06-21 16:12:21 -04:00
1bcf73ec60 docs(readme): updated readme 2025-06-21 08:43:20 -04:00
698e8d2e07 build(libconfig): got build system and tests working 2025-06-21 08:41:39 -04:00
2775306d50 Merge pull request #63 from tboudreaux/fix/test
Fixed eos, resourceManager, and approx8 Tests
2025-06-12 11:24:40 -04:00
a183d564ac build(yaml-cpp): disable yaml-cpp tests
this prevents gtest linking conflicts
2025-06-12 11:22:09 -04:00
63bef01449 Merge pull request #62 from tboudreaux/refactor/spelling
refactor(serif): fixed typos and updated names to reflect 4DSSE->SERiF
2025-06-12 09:06:38 -04:00
af5df1d452 refactor(serif): fixed typos and updated names to reflect 4DSSE->SERiF 2025-06-12 09:04:03 -04:00
9f73aebf29 Merge pull request #59 from tboudreaux/feature/mixedPolytrope
Static 3D FEM Polytropic Model
2025-06-12 04:11:03 -04:00
e5b3936024 Merge remote-tracking branch 'upstream/main' into feature/mixedPolytrope
# Conflicts:
#	.gitignore
#	build-config/meson.build
#	meson.build
#	meson_options.txt
#	src/composition/public/composition.h
#	src/config/public/config.h
#	src/constants/public/const.h
#	src/meson.build
#	tests/composition_sandbox/comp.cpp
2025-06-11 15:05:11 -04:00
4e4fc420b6 refactor(serif): updated tests to reflect new serif namespaces 2025-06-11 14:49:26 -04:00
fcf1d169a6 refactor(serif): refactored entire codebase into serif and sub namespaces 2025-06-11 14:49:11 -04:00
ec6eae7437 Merge pull request #58 from tboudreaux/feature/pythonInterface/config
Add config module bindings to python interface
2025-05-05 14:43:11 -04:00
b95f2e13ae refactor(config): header guard -> pragma once 2025-05-05 14:36:16 -04:00
0111daee2e Merge pull request #45 from tboudreaux/feature/pythonInterface/composition
Python Interface for composition module
2025-04-30 11:57:23 -04:00
453d7a8044 build(config): added compile time option to disable config file load error
In general we may want to enforce that a config file is explicitly loaded before any access is requested. However, there are times when this is non ideal behavior. We introduce a compile time flag (CONFIG_HARSH, and CONFIG_WARN). If config hars is defined then a runtime error will be thrown if a config value is requested before the config file has been loaded. If Config warn is defined (and config harsh is not) then a warning will be printed, otherwise nothing will happen. If either warn or nothing is defined this means that the default values defined in the get methods will be used.

Note that the meson build system has had an option added -Dconfig_error_handling=["none", "warn", "harsh"] (default="none") which can be used to manage these compile time options. In general release builds should have this disabled while debug builts should have it set to harsh.
2025-04-30 11:48:38 -04:00
4fcbcb1d17 build(meson): switched almost all intermediate targets to shared libraries 2025-04-30 11:44:53 -04:00
50e4739c8c feat(python-composition): added composition module interface 2025-04-30 11:41:10 -04:00
ea4e8b70b3 Merge branch 'main' into feature/mixedPolytrope
# Conflicts:
#	src/poly/coeff/meson.build
#	src/poly/coeff/private/polyCoeff.cpp
#	src/poly/utils/meson.build
#	src/poly/utils/private/operator.cpp
#	src/resources/macros/warning_control.h
#	src/types/public/4DSTARTypes.h
2025-04-25 12:24:44 -04:00
57a0898d70 Merge pull request #38 from tboudreaux/fix/opatcoremodulename
fix(resource-manager): fixed old style calls to opat-core
2025-04-25 10:41:30 -04:00
b074655dcb fix(resource-manager): fixed old style calls to opat-core
tboudreaux:feature/mixedPolytrope implimented a fix to bring old style opat-core calls to the more up to date style. This change has been fast forwarded into main
2025-04-25 10:39:10 -04:00
477b73610b docs(src): updated file headers 2025-04-21 08:56:45 -04:00
d9f3365253 fix(yaml-cpp): locked cmake version for yaml-cpp 2025-04-18 11:18:31 -04:00
0c55a63496 Merge branch 'main' into feature/pointwisePolytrope 2025-03-26 11:38:07 -04:00
30419d806d Merge pull request #27 from tboudreaux/feature/resourceManager
Added resource manager
2025-03-20 15:04:41 -04:00
666db0760b feat(config): added ability to get all keys and check if a key exists in the given config file
also added the ability to get a config value without specifying a default (this is only avalible to freind classes)
2025-03-20 14:27:57 -04:00
6cef9895c7 refactor(header): brought auto header changes from main into polytrope branch 2025-03-18 07:21:47 -04:00
fce2e3fc22 Merge pull request #26 from tboudreaux/style/header
Added copyright headers and post-commit hook to auto generate and update them
2025-03-17 13:35:11 -04:00
0c3a204b7d docs(src): added file headers to all files 2025-03-17 12:42:33 -04:00
7842c11a0c Merge branch 'main' into feature/pointwisePolytrope 2025-03-13 15:08:35 -04:00