71 Commits
Author SHA1 Message Date
Oliver Hamlet 55bdf56227 Update version and changelog for v0.28.0 2025-08-02 16:36:20 +01:00
Oliver Hamlet d4d6893491 Use enums instead of bools in public API
Replace the boolean parameters for including user metadata and evaluating conditions with MergeMode and EvalMode enums.

The C++ and Python wrappers still use booleans because they're more constrained than enums in those languages, which can be given invalid values.
2025-08-02 16:05:36 +01:00
Oliver Hamlet 8cf7a0adf1 Add more Cargo package fields
Explicitly disable publishing the FFI wrappers, since there's no point them being on crates.io.
2025-08-02 11:16:25 +01:00
Oliver Hamlet 903bdf6ef7 Add a FetchContent example to cpp readme 2025-08-01 18:21:44 +01:00
Oliver Hamlet 2b59b6f76a Set /MP for specific CMake targets
So that libloot doesn't override the global setting if included as a dependency.
2025-08-01 18:19:48 +01:00
Oliver Hamlet 4acc64247e Deduplicate Cargo package fields across workspace
Also deduplicate version numbers in CMakeLists.txt.
2025-07-31 22:08:46 +01:00
Oliver Hamlet d6be961095 Be a bit more consistent with function naming
This makes it so that all non-public functions use camelCase and all public functions use PascalCase.

I regret choosing to use PascalCase for function names, but it's not worth breaking the whole public API to change that, and at least this approach has precedent in how Go decides if a function is public or private.
2025-07-26 21:49:49 +01:00
Oliver Hamlet b492e34ab9 Fix linking tests against static libloot 2025-07-23 19:11:07 +01:00
Oliver Hamlet 46bcd3a10e Only set up CMake install for shared library
The static library has a static dependency on libloot-cpp that causes more difficulty, and resolving that isn't a priority since I don't use libloot as a static library.
2025-07-23 19:10:47 +01:00
Oliver Hamlet 40f3ece061 Add LIBLOOT_BUILD_SHARED CMake option
To avoid libloot setting the global BUILD_SHARED_LIBS when used through FetchContent.
2025-07-23 19:07:41 +01:00
Oliver Hamlet fdd84b11b8 Fix using libloot through CMake's FetchContent
- Use PROJECT_SOURCE_DIR and PROJECT_BUILD_DIR instead of CMAKE_SOURCE_DIR and CMAKE_BUILD_DIR because libloot's CMakeLists.txt may not be the top-level one.
- Specify the working directory when calling cargo
- Define an alias and export the loot target so that it's usable without installing the built artifacts first
2025-07-23 18:20:57 +01:00
Oliver Hamlet b6d9cb0d9e Remove the libloot_internals_tests target
Move its tests to libloot_tests, as there's nothing in the internals that can't be just as easily tested through the public API.
2025-07-22 19:56:21 +01:00
Oliver Hamlet bdc1f827f6 Make Game::set_additional_data_paths() take Vec<PathBuf>, not &[&Path] 2025-07-22 19:56:21 +01:00
Oliver Hamlet 3d4320c2c9 Compile C++ code with /MP on MSVC
This reduces the build time from 32.8s to 28.6s for clean builds on my PC.
2025-07-22 19:56:21 +01:00
Oliver Hamlet fee6504fa8 Move deny lints to Cargo workspace config
To reduce duplication and make it clearer which denials are then overridden for each crate.
2025-07-22 19:56:21 +01:00
dependabot[bot]andGitHub be7596f747 Bump delegate from 0.13.3 to 0.13.4
---
updated-dependencies:
- dependency-name: delegate
  dependency-version: 0.13.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 18:32:31 +00:00
Oliver Hamlet 03d835f965 Improve readmes 2025-06-15 20:12:24 +01:00
Oliver Hamlet fa193c1bdd Merge branch 'rust-rewrite' into master 2025-06-11 21:21:55 +01:00
Oliver Hamlet f4511b99bb Move cpp/docs to docs 2025-06-11 19:06:08 +01:00
Oliver Hamlet e7f2098519 Remove Miscellaneous Details docs page
- The string encoding and errors sections move to the reference page
- The metadata files section moves to the introduction page
- The language codes section is already detailed in a C++ header doc comment
- The caching section is already detailed in C++ header doc comments
- The performance section is outdated and isn't worth keeping once updated.
2025-06-11 17:49:27 +01:00
Oliver Hamlet 96f2744d0a Move copyright licenses under API documentation 2025-06-11 17:48:00 +01:00
Oliver Hamlet 10ef260817 Exclude .venv directory from sphinx 2025-06-11 17:46:35 +01:00
Oliver Hamlet efc3e21530 Improve docs for language values 2025-06-11 17:46:19 +01:00
Oliver Hamlet baa94903c5 Move relevant usage notes to the changelog 2025-06-08 20:59:15 +01:00
Oliver Hamlet db9f51a2b2 Update changelog and version for 0.27.0 2025-06-08 20:59:14 +01:00