Commit Graph

31 Commits (master)

Author SHA1 Message Date
AnyOldName3 26be98966f Modernise Boost CMake stuff
Resolves https://gitlab.com/OpenMW/openmw/-/issues/8100

Also removes some old crud.
Hopefully the old crud is all:
* Handled automatically by CMake now we're using the modern approach.
* A hack-fix for a problem caused by not using the modern approach.
* Massively outdated so no longer necessary.

If it turns out this makes CI fail, I'll tweak things as necessary.

Changes that might not be wanted include:
* Getting rid of our BOOST_STATIC CMake option. In cases where the CMake config doesn't make the one correct choice from the build environment (i.e. because there's a choice) the CMake config exposes the option already.
  However, we were forcing this on for Windows, so that might matter.
  It seems to default to static on my machine even though I thought I read something suggesting otherwise, so we'll see how things go with that.
  If we eventually put CMake in charge of installing dependency DLLs this will be a moot point as we won't need to care.
* Bumping the minimum version of Boost to 1.70.0, as that's the first with working CMake config.
  It's from 2019, so plausibly there are distros too scared to use a library from five years ago as it can't legally drink in the US (although it could in limited quantities with parental supervision in the UK, as long as it's just something inconsequential like a single sip of beer).
4 months ago
elsid 1bdc01273e
Move "debugging" function into Debug namespace 6 months ago
Alexei Kotov 1a961f3021 Extremely early handling for BGSM/BGEM files 8 months ago
psi29a 8037a6e765 Merge branch 'portable-launcher' into 'master'
Portable Launcher (plus a whole slew of bugs fixes for problems I found that I suspect aren't on the tracker)

Closes #6846

See merge request OpenMW/openmw!3925
9 months ago
elsid 5859fd464c
Add option to disable precompiled headers
To be able to use ccache.

Also fix compilation errors appeared due to absence of precompiled
headers.
10 months ago
AnyOldName3 626f438dcc Make builtin.omwscripts actually mandatory
Previously it was quasi-mandatory - lots of things would add it, e.g. when running openmw through the CS, but it could technically be disabled.

Now it's treated like the resources/vfs directory and implicitly added by the engine etc.
10 months ago
Andrei Kortunov 7e345436f4 Localize Launcher and Wizard 11 months ago
Evil Eye 48db113149 Address feedback 12 months ago
Evil Eye 27fa411f4f Convert strings in nif files to utf8 12 months ago
Andrei Kortunov 6f68df9ac2 Avoid redundant copies 1 year ago
elsid 053a3caf7b
Pass cache expiry delay to GenericResourceManager constructor 1 year ago
Petr Mikheev f260fa006e Show OpenMW version and Lua API revision in documentation. 1 year ago
AnyOldName3 34fcfb63cf Eliminate redundant version checks 1 year ago
Evil Eye eeda48ec50 Drop support for --fs-strict 2 years ago
elsid 97fed756c8
Properly support portable configuration for bulletobjectool and navmeshtool 2 years ago
elsid 04d439485b
Log more info about navmesh shapes and jobs 2 years ago
jvoisin c7a3f43915 Minor header cleanup
This has been done via CLion's "unused include directive",
set to "detect completely unused".
2 years ago
elsid 1857d8a68c
Use target_compile_options to add --coverage 2 years ago
elsid c44bc5ade5
Setup logging with properly initialized configuration manager
Default constructed instance may provide different paths from initialized one.
2 years ago
jvoisin cd29c181cf Another pass with IWYU 2 years ago
elsid 843753da14
Remove unused includes 2 years ago
clang-format-bot ddb0522bbf
Apply clang-format to code base 2 years ago
elsid 6ae15f08e0
Avoid chained operator() calls to prevent formatting issues 2 years ago
Project579 a13709c510 Replace implicit convertions from std::filesystem::path to std::string with correctly converting functions. 2 years ago
Project579 e5c417c968 Make sure all paths are passed as std::filesystem::path instead of std::string where possible. 2 years ago
elsid 7e6c13630a Use target_precompile_headers for the most expensive headers 3 years ago
ζeh Matt d5ec959449
Create platform component for platform specific things 3 years ago
elsid 3affe9913f
Limit the number of simultaneously open not actively used content files
Use LRU cache for ESMReaders. When cache capacity is reached close least
recently used ESMReader. Remember the file name if a reader was open. Once the
reader requested again open the file if there is stored name for it. Put
released ESMReader to the back of the free items list. Close ESMReader's from
the front of the free items list.

Cached item can be used only by one client at the same time. If the same item is
requested twice exception is thrown. This should never happen in practice. If
this happens need to fix the client logic.

It's allowed to go over the capacity limit when requesting different readers.
Ideally this should never happen but there will be system error anyway
signalizing about too many open files. Need to fix client logic in this case.

All places that were using a vector of ESMReaders now using the cache. Cache is
local for each use case and there is no need for a thread safety.
3 years ago
jvoisin 6f5025e6fd Remove some unused includes from bulletobjecttool 3 years ago
Petr Mikheev c7ab67c2c1 Allow relative paths in openmw.cfg; support --replace=config. 3 years ago
elsid e7f3524924
Add a tool to load and print information about all bullet objects in all cells 3 years ago