Commit Graph

424 Commits (8cb5f2a5673165d732790e6440e9cd90b71074d4)

Author SHA1 Message Date
Alexei Kotov 5d37cb3b74 Exterminate script blacklisting (#8214) 2 months ago
AnyOldName3 387b63909b Remove vestigial Boost libraries
Boost::zlib is basically part of Boost::iostreams, and depending on how you configure Boost, it can either be a separate library or get embedded into iostreams.
With the third-party-but-linked-on-Boost's-website package we've been using for years, it's a separate library.
Before https://gitlab.com/OpenMW/openmw/-/merge_requests/4307, we needed to explicitly link with it as CMake wasn't handling transitive dependencies for us.
With vcpkg, it's embedded, and doesn't have its own CMake config, so we couldn't explicitly link with it even if we wanted to.

Now CMake *is* handling transitive dependencies for us, we don't even need to think about this library.
It's all automatic.

Boost::locale, on the other hand, used to be something we used directly (I think for doing UTF-16/UTF-8 conversions when dealing with Windows paths).
However, it isn't anymore, and we just didn't purge it from our CMake when we should have.
It can go.
4 months ago
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
psi29a dc9c68f61b Merge branch 'fix_android_openmw' into 'master'
Keep separation between openmw and openmw-lib on Android

See merge request OpenMW/openmw!4221
5 months ago
Andrei Kortunov 54271b872c Improve QVariant usage 6 months ago
elsid 73d48720ef
Do not change output names for targets
Changing them does not solve any problem but only creates some.
6 months ago
psi29a 98ba2120b6 Merge branch 'zerotohero' into 'master'
Use -1 as the plugin index for LandTextures

See merge request OpenMW/openmw!4121
7 months ago
Evil Eye fbc6629d40 Rework land texture handling 7 months ago
psi29a 61772fa234 Merge branch 'verifiers' into 'master'
Complain about fishy local variable names, improve editor effect list handling

See merge request OpenMW/openmw!4160
7 months ago
elsid 2e0e0f53b6
Add --coverage to openmw-cs 7 months ago
Alexei Kotov 252ee7f8c4 Deduplicate effect list verification
Drop Potion-specific range check, it's irrelevant
7 months ago
Andrei Kortunov bf682d51a6 Support dark mode on Windows (feature 7985) 8 months ago
Andrei Kortunov d06e8e2c24 Use Qt6 on Windows by default 9 months ago
Andrei Kortunov 1ad9e5f9e8 Rework editor icons 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
elsid e9c672b297
Fix build with cmake flag BUILD_SHARED_LIBS=ON
Always build opencs-lib as static library instead of BUILD_SHARED_LIBS deciding
whether it's static or shared library.
11 months ago
AnyOldName3 6d37618301 Add OpenMW-CS RC file to app rather than static lib
Static libraries on Windows can't have embedded resources, so this mean the icon for the CS wasn't used.
This could have also been resolved by explicitly requesting the library type as OBJECT rather than letting it default to STATIC (as object libraries aren't a thing on-disk and are just an abstraction in CMake so you can use the same object files in different targets), but this seemed less invasive.

I also made it Win32-only as a Windows .rc file is meaningless on Unix, but it shouldn't be MSVC-only as MinGW can consume them.
1 year ago
Andrei Kortunov 1ca2a0ef66 Store generated UI by pointer to avoid redundant processing 1 year ago
Andrei Kortunov e6690bbcc7 Use CMAKE_CURRENT_SOURCE_DIR instead of CMAKE_SOURCE_DIR 1 year ago
Andrei Kortunov 2e041073fc Move *.ui files for different applications to different folders 1 year ago
elsid e07d8f3066
Add separate setting type for subcategory 1 year ago
AnyOldName3 34fcfb63cf Eliminate redundant version checks 1 year ago
Evil Eye 9214ffb50b Replace some empty constructors and destructors with default 2 years ago
jvoisin 222365b5e3 Fix a qt deprecation warning in cmake 2 years ago
Bret Curtis 0db31207dc remove remaining boost::filesystem cruft 2 years ago
Andrei Kortunov 8df7ce545e Migrate from GraphicsWindowQt to QOpenGLWidget 2 years ago
elsid 6f6e452dfa
Add executable to run CS tests 2 years ago
elsid 59f2fccc9f
Split openmw-cs into binary and library 2 years ago
elsid 1cc4909144
Add --coverage to components_qt, benchmarks and openmw-cs 2 years ago
Andrei Kortunov 7e2aedf637 Add an initial Qt6 support 2 years ago
Project579 4bb07282c9 Replace all remaining occurrences of boost::filesystem with std::filesystem. 2 years ago
elsid 7e6c13630a Use target_precompile_headers for the most expensive headers 3 years ago
Bret Curtis 9336626927 use OPENMW_RESOURCES_ROOT instead 3 years ago
Bret Curtis a9bf53d4ed modified builtin_scripts to be macOS aware; simplified things as the SHADER and MYGUI dir were just pointing to the OpenMW_BINARY_DIR anyway, so removing the code duplication 3 years ago
Pi03k e641bea606 Toggling table columns visibility 3 years ago
Pi03k 4ff5a04e9b Remove redundant qt-related cmake macros 3 years ago
pi03k e4eeb9cce9 Remove 'no relevant classes' moc warning 3 years ago
elsid b0f772af40
Define dependency to OSG plugins in one place
Each binary depending on components library requires OSG plugins to be linked.
Duplicating dependecies for each binary does not give benefits and brings
problems when new binary is added.
3 years ago
psi29a fff35dcb03 Merge branch 'Ignore-empty-pgrd' into 'master'
Do not store empty PGRD records.  Should resolve Issue #6209.

See merge request OpenMW/openmw!1121
3 years ago
elsid e9b8933b2f
Do no link binaries with Qt where it's not used
Define components_qt static library with all qt dependent components that also
depends on other components. Link only cs, wizard and launcher with qt
dependent components.
3 years ago
cc9cii bd3ef506cd Empty Pathgrid record is considered as the modder's intention to delete any existing record. 3 years ago
AnyOldName3 d38126ef1c Pack default CS config
*Technically* it was already being loaded as if it were packed, but it
made no difference because it's supposed to be empty.
4 years ago
Atahualpa 73949d5bd0 Updating the CMake file isn't a bad idea either... 4 years ago
unelsson 95272e0f14 String setting to CSMPrefs, part of dehardcoding animation files 4 years ago
Gleb Mazovetskiy 455be9dbbb Fix linking with `-DOPENMW_USE_SYSTEM_OSG=ON -DOSG_STATIC=ON`
1. CMake's built-in OSG finder does not use pkgconfig, so we have to
   manually ensure the order is correct for inter-library dependencies.

   https://gitlab.kitware.com/cmake/cmake/-/issues/21701

2. OSG plugin pkgconfig files are missing dependencies on the underlying
   libraries (e.g. freetype, png, jpeg), so we have to link them manually.

   https://github.com/openscenegraph/OpenSceneGraph/issues/1052
4 years ago
Gleb Mazovetskiy 13c5b1b0c5 CMake: Fix support for OSG static lib paths
`$<TARGET_FILE:...>` fails if the argument is already a path (instead of
a library name). This happens when a static library is found via
`osg_find_library`.

If the argument contains `/` or `.`, do not use `$<TARGET_FILE:...>`
4 years ago
Gleb Mazovetskiy 8737453498 cmake: Compiler-specific whole-archive macro 4 years ago
Gleb Mazovetskiy 99ba45a308 Optional static builds of OSG, MyGUI, Bullet 4 years ago
AnyOldName3 73708a6f2a Install openmw-cs.cfg on single-config generators and from the right directory on multi-config 4 years ago
elsid 40ad87bc4d
Replace OpenThreads by std types 5 years ago