Commit Graph

1061 Commits (7d9d377575ff6aac58561c670c8716314386700a)

Author SHA1 Message Date
elsid 11204d35d6
Use zlib directly for ESM4
Fallback to decompression by block of fixed size when decompressing the
whole archive fails.
2 years ago
jvoisin 8e3576022a Don't install boost-filesystem anymore 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 cc066efa11
Fix identation in CMakeLists.txt 2 years ago
elsid 8031b9a16c
Use spaces only for identation in CMakeLists.txt 2 years ago
Cody Glassman f729a28023 Fix executable for silicon builds
Partially reverts https://gitlab.com/OpenMW/openmw/-/merge_requests/1399
2 years ago
Bret Curtis 09f9203baa fix building and packaging issue with macos and qt plugins, they do not yet support versionless as it is a problem with cmake 2 years ago
Andrei Kortunov 7e2aedf637 Add an initial Qt6 support 2 years ago
elsid 6f1a434234
Check for more warnings 2 years ago
elsid f1dbd9b959
Fix -Wduplicated-branches warnings 2 years ago
elsid c79c14da91
Fix -Wnon-virtual-dtor warnings 2 years ago
elsid a8a3ff9548
Fix setting OPENMW_CXX_FLAGS
Using ${OPENMW_CXX_FLAGS} as variable name means using underlying string value
which is not correct for fixed cases.
2 years ago
Andrei Kortunov 902c48d1bb Rework launcher UI 2 years ago
psi29a f7f1832933 Merge branch 'luajit_custom_alloc' into 'master'
Check LuaJit version

See merge request OpenMW/openmw!2509
2 years ago
elsid fdb731a6d0
Set collada_dom version before finding the package
The package cmake config uses wrong variables for minor and major versions. They
should be collada_dom_VERSION_MINOR and collada_dom_VERSION_MAJOR but they are
COLLADA_DOM_VERSION_MINOR and COLLADA_DOM_VERSION_MAJOR. CMake variables are
case sensitive so used variables are just empty strings. Set them manually as a
workaround.
2 years ago
Petr Mikheev b6dd84c8ef Check LuaJit version 2 years ago
elsid 89884fae0b
Add link dependencies to libosgSim and collada-dom 2 years ago
elsid 063fff7fa4
Fix and prevent -Wextra-semi warning 2 years ago
Andrew Dunn 9f7e132479 Made CMake 3.19 requirement specific to macOS app packaging. 2 years ago
Andrew Dunn e4f04390b5 Merge commit 'cd8b20439ec707574826679a8f851546c78e294e' into re-sign-mac-applications 2 years ago
Andrew Dunn 52501b7b65 Re-sign Mac Applications before creating install package
On Apple Silicon, the changes to linking paths done to "relativise"
paths in App bundles invalidates the code signature, so we need to
recalculate the signatures *after* the path changes have been performed
but before the install package is created. This depends on a new CMake
feature introduced in 3.19.
2 years ago
Bret Curtis 3e9510a89f reorg of cmake osg plugins; add osgSim and osgdb_dae requirements 2 years ago
Project579 e55caa9d20 Resolve issue #6931 Ugly warning with cmake 3.24 or newer 2 years ago
psi29a e733dca907 Merge branch 'disable_cpp_extensions' into 'master'
Disable C++ extensions

See merge request OpenMW/openmw!2095
2 years ago
psi29a 75454c3c68 Merge branch 'go_49' into 'master'
Flip the switch on for 0.49

See merge request OpenMW/openmw!2256
2 years ago
Bret Curtis bfd3ece818 Flip the switch on for 0.49 2 years ago
psi29a b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2 years ago
elsid 8e4f6fc4e4
Use FetchContent to get googletest 2 years ago
Andrei Kortunov dd04bfccfb Load fonts 2 years ago
Project579 02ef9c953e MSVC: Fix all warnings at level 4, upgrade Qt5 to 5.15.2 to also reduce warnings, disabled 5054 warnings due to Qt5's use of deprecated operators in C++20 . 2 years ago
Project579 5ee825b5f6 Enable warnings as errors in MSVC builds. 2 years ago
Andrei Kortunov c4bde18a9d Suppress warnings spam from Qt 2 years ago
elsid 0a94f95c95
Disable C++ extensions
Since openmw has to be compiled by clang, gcc, msvc most of the extensions
will not work anyway.
3 years ago
elsid 7e6c13630a Use target_precompile_headers for the most expensive headers 3 years ago
elsid a40ec4edd6
Avoid D9025 warning by not adding /W3 by default using CMP0092 policy
See https://gitlab.kitware.com/cmake/cmake/-/issues/18317

Set policies before declaring the project otherwise they might not take effect.
Specifically CMP0092 does not have effect added after project.
3 years ago
psi29a bb0dad7c08 Update to C++20 and see if our CI can handle it. 3 years ago
Benjamin Winger 248e3d3c2e macOS CI changes 3 years ago
elsid ea295a2ac3
Fix build with lld linker
Boost.Filesystem started to depend on Boost.Atomic on 1.77.0 version but lld
can't find library on its own:

libboost_atomic.so.1.79.0 => not found
3 years ago
Petr Mikheev 7cd4222647 Update sol. Replace combined sol.hpp with loose files. 3 years ago
madsbuvi dd5901d351 Initial commit
Multiview shaders.

Refactor Frustum management

Rewrite shared shadow map

cull mask should respect stereo

Stereo savegame screencap

LocalMap refactoring

use the vertex buffer hint instead of the display list patch to enable/disable display lists

Character preview fixes
3 years ago
Benjamin Winger e3cedb5bfc
Set yaml-cpp and ICU as REQUIRED 3 years ago
Benjamin Winger 21ffbcc4b4 Lua i18n updates 3 years ago
elsid e7f3524924
Add a tool to load and print information about all bullet objects in all cells 3 years ago
Timo Gurr 7e346fbbdd cmake: for now do not use CMAKE_INSTALL_DATAROOTDIR for GLOBAL_DATA_PATH 3 years ago
elsid 70623d0b23
Move FetchContent for benchmark to extern 3 years ago
Timo Gurr 71fe57f7a5 cmake: Use GNUInstallDirs to install data directories 3 years ago
Petr Mikheev 88a83bab1f Remove predefined data paths `data="?global?data"`, `data=./data` (#6564) 3 years ago
uramer 886dee57ee Always use /bigobj, clean up scattered uses into one 3 years ago
uramer 94b2bde48a Raise required MyGUI version to 3.4.1 3 years ago
elsid 953a4c5550
Add a binary to generate navmesh from content files
Load content files based on the engine config files. Generate navmesh per cell
for all cells and store into SQLite database.
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
Petr Mikheev d3df3efaf1 Precompile sol.hpp in order to reduce compilation time. 3 years ago
Brian Kelley ee41b94a73 Enable compilation on apple silicon 3 years ago
wareya db04dee29d Force MSVC to build in utf-8 mode 3 years ago
Bret Curtis fa5581942e
Update CMakeLists.txt 3 years ago
Bret Curtis 1a51c6eb5d
Update CMakeLists.txt 3 years ago
Bret Curtis cd358ce1f9
Update CMakeLists.txt 3 years ago
Bret Curtis 62b59a3c00
Update CMakeLists.txt 3 years ago
Bret Curtis e65af0bf06
Silence all opengl deprecation warnings for MacOS
We know...
3 years ago
elsid 2bace703d5
Add dependency to SQLite3
This will be required by navmeshtool.
3 years ago
Evil Eye a1825980c4 Define OpenMW specific C++ flags 3 years ago
Evil Eye d680aa26e9 Disallow switch fallthrough 3 years ago
elsid b9825afb8a
Fix build with system static OpenSceneGraph
* Add dependency to libraries required by OSG but missing when linking with OSG
  system library.
* Use find_package for already defined dependencies.
3 years ago
pi03k e4eeb9cce9 Remove 'no relevant classes' moc warning 3 years ago
elsid 1b1deeb59b
Fail CI build when not allowed warnings are present
Put -Wno-error after -Wall to make it work properly for clang.
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
Bret Curtis 08a9abc46f get openmw building with LuaJIT on macos 4 years ago
Petr Mikheev 4db5fa351d Add sol3.2.2/sol/sol.hpp to extern instead of downloading during building 4 years ago
Petr Mikheev 9e168fd9cc Add Lua/LuaJit and sol3 to openmw 4 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
Bret Curtis 36bb966ca1 Getting the ball rolling for 0.48 4 years ago
psi29a dd197765c8 cmake check to enforce that if someone uses OSG 3.6, that it is at least 3.6.5 4 years ago
psi29a e9fbd76e9b Merge branch 'windows_tests' into 'master'
Support running tests and benchmarks for windows

See merge request OpenMW/openmw!839
4 years ago
psi29a 4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
4 years ago
AnyOldName3 081650a2e5 Integrate Base64 library with build 4 years ago
psi29a b583c2300c Merge branch 'maybe-fix#5551' into 'master'
Fix #5551

Closes #5551

See merge request OpenMW/openmw!802
4 years ago
Andrei Kortunov 963e1b8b3f Fix MSVC's C4244 warnings 4 years ago
Andrei Kortunov f9d42ed396 Fix MSVC's C4267 warnings 4 years ago
elsid 4d7e5245a3
Support benchmarks for windows
Don't run the binary because gitlab can't execute it successfully due to
unknown reason.
4 years ago
AnyOldName3 0d737a3501 Create defaults.bin at configure time 4 years ago
Bret Curtis 4f5d697e2b Do not fail when unable to detect the FFMPEG version, like windows. 4 years ago
Gleb Mazovetskiy e3a6cb1695 Remove OsIdentity.cmake
Removes the OsIdentity.cmake file and uses a cross-compilation friendly
and OS-independent method of detecting system double-precision bullet
instead.
4 years ago
psi29a 7f7041656d Merge branch 'enforce_double_bullet' into 'master'
Remove support for single-precision Bullet, fail during configuration instead of during linking (#5980)

See merge request OpenMW/openmw!806
4 years ago
fredzio 6fd04cb8f6 Remove support for single-precision Bullet, fail during configuration instead of during linking. 4 years ago
AnyOldName3 1626762d5c Maybe fix #5551
If we were doing this properly, we'd migrate to
https://cmake.org/cmake/help/latest/module/InstallRequiredSystemLibraries.html
but this should hopefully remove a blocker for 0.47
4 years ago
Chris Djali f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
Rework warnings settings
4 years ago
psi29a 16bb3919d1 Merge branch 'navmesh_cache_simplification' into 'master'
Simplify navmesh cache

See merge request OpenMW/openmw!691
4 years ago
Andrei Kortunov 8aa76ff540 Use W4 instead of Wall for MSVC 4 years ago
Andrei Kortunov f2f2c3d873 Disable -Wsuggest-override again since we have no control over code from FetchContent 4 years ago
Andrei Kortunov 1b1c786d0c Do not suppress fixed MyGUI warnings 4 years ago
Andrei Kortunov f308dde254 Clean up MSVC warnings 4 years ago
elsid b9a40bc5fc
Add NavMeshTilesCache benchmarks 4 years ago
Gleb Mazovetskiy 493659d4f9 MSVC: extern/ tweaks to make it build
Not everything is supported but it does build with the following CMakeSettings.json
variables and dependencies from vcpkg:

      "variables": [
        { "name": "OPENMW_USE_SYSTEM_BULLET", "value": "False", "type": "BOOL" },
        { "name": "OPENMW_USE_SYSTEM_MYGUI", "value": "False", "type": "BOOL" },
        { "name": "OPENMW_USE_SYSTEM_OSG", "value": "False", "type": "BOOL" },
        { "name": "BULLET_STATIC", "value": "True", "type": "BOOL" },
        { "name": "OSG_STATIC", "value": "False", "type": "BOOL" },
        { "name": "MYGUI_STATIC", "value": "False", "type": "BOOL" }
      ],

What works: it builds

What does not work: Not all DLLs are copied into the output directory with this set up
(SDL2, MyGUI, Bullet, OSG, are not copied).
4 years ago
Gleb Mazovetskiy f460ab2152 MSVC: Fix build with vcpkg's boost
boost-zlib is not present (nor needed) in vcpkg version of boost
There, it is part of boost-iostreams instead.

This was previously reported in:
https://gitlab.com/OpenMW/openmw/-/merge_requests/213#note_348625016
4 years ago
AnyOldName3 450b971bb0 Merge branch 'gl4es-patch' into 'master'
gl4es: Delay feature detection until a context exists

See merge request OpenMW/openmw!626
4 years ago
Bret Curtis c4064fca0c include feedback and add DebugUtils and Detour 4 years ago
Bret Curtis 28cb14289a initial attempt at FindRecastNavigation.cmake 4 years ago
Gleb Mazovetskiy 044e784072 gl4es: Delay feature detection until a context exists
gl4es feature detection does not work reliably with EGL.

If a context already exists, gl4es can instead reliably detect
the underlying GLES features from the context itself.

This requires gl4es to be configured with:

    -DNOEGL=ON -DNO_LOADER=ON -DNO_INIT_CONSTRUCTOR=ON

This also requires gl4es to have this fix: https://github.com/ptitSeb/gl4es/pull/271
4 years ago