You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Decouple from snmalloc headers and add shared library (DLL) support
- Introduce include/trieste/compiler.h with self-contained TRIESTE_SLOW_PATH,
TRIESTE_FAST_PATH, TRIESTE_LIKELY/UNLIKELY, and TRIESTE_USED_FUNCTION macros,
replacing all uses of snmalloc/ds_core/defines.h macros throughout the
headers (ast.h, intrusive_ptr.h, logging.h, pass.h, rewrite.h, wf.h).
- Make snmalloc an optional dependency controlled by TRIESTE_USE_SNMALLOC.
When disabled, the core library no longer fetches or links snmalloc at all.
The vcpkg port moves snmalloc from a hard dependency to an opt-in "snmalloc"
feature.
- Add DLL export support for the JSON and YAML parser libraries:
- Use CMake's GenerateExportHeader to produce json_export.h / yaml_export.h.
- Annotate all public API functions with JSON_EXPORT / YAML_EXPORT.
- Define JSON_STATIC_DEFINE / YAML_STATIC_DEFINE for static builds.
- Rename output libraries to trieste-json / trieste-yaml.
- Add a Windows shared-libs CI job (BUILD_SHARED_LIBS=ON).
- CMake modernisation:
- Use native EXCLUDE_FROM_ALL on CMake 3.28+ instead of always fetching
cmake_utils; emit a deprecation warning for CMake < 3.28.
- Guard header installs on non-Debug builds to avoid installing into Debug
prefixes.
- Only define the clangformat target when snmalloc is available (it
provides the clangformat_targets macro).
- vcpkg port fixes:
- Prefix release tag refs with "v" to match actual Git tags.
- Drop redundant PACKAGE_NAME from vcpkg_cmake_config_fixup.
- Add "supports": "!x86" platform constraint.
- Fix C++17 compatibility in yaml reader (replace std::set::contains with
find/end).
- Bump VERSION to 1.1.0.
Signed-off-by: Matthew A Johnson <matjoh@microsoft.com>
0 commit comments