1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-16 20:29:57 +00:00
Commit graph

1087 commits

Author SHA1 Message Date
psi29a
e733dca907 Merge branch 'disable_cpp_extensions' into 'master'
Disable C++ extensions

See merge request OpenMW/openmw!2095
2022-08-10 22:33:33 +00:00
psi29a
75454c3c68 Merge branch 'go_49' into 'master'
Flip the switch on for 0.49

See merge request OpenMW/openmw!2256
2022-08-10 12:55:30 +00:00
Bret Curtis
bfd3ece818 Flip the switch on for 0.49 2022-08-09 23:09:57 +02:00
psi29a
b551e69b6f #5534 remove OSG 3.4 support and require at least 3.6.5 support 2022-08-09 21:07:28 +00:00
elsid
8e4f6fc4e4
Use FetchContent to get googletest 2022-08-04 01:12:11 +02:00
Andrei Kortunov
dd04bfccfb Load fonts 2022-07-17 22:01:48 +04:00
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 . 2022-07-17 11:23:12 +02:00
Project579
5ee825b5f6 Enable warnings as errors in MSVC builds. 2022-07-17 11:21:55 +02:00
Andrei Kortunov
c4bde18a9d Suppress warnings spam from Qt 2022-07-17 10:29:02 +04:00
elsid
0a94f95c95
Disable C++ extensions
Since openmw has to be compiled by clang, gcc, msvc most of the extensions
will not work anyway.
2022-07-04 23:39:10 +02:00
elsid
7e6c13630a Use target_precompile_headers for the most expensive headers 2022-07-01 14:05:17 +00:00
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.
2022-06-15 11:00:26 +02:00
psi29a
bb0dad7c08 Update to C++20 and see if our CI can handle it. 2022-06-12 08:00:11 +00:00
Benjamin Winger
248e3d3c2e macOS CI changes 2022-05-29 19:32:53 +00:00
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
2022-05-22 15:27:48 +02:00
Petr Mikheev
7cd4222647 Update sol. Replace combined sol.hpp with loose files. 2022-05-15 21:34:55 +02:00
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
2022-04-28 21:05:34 +02:00
Benjamin Winger
e3cedb5bfc
Set yaml-cpp and ICU as REQUIRED 2022-04-10 15:26:41 -04:00
Benjamin Winger
21ffbcc4b4 Lua i18n updates 2022-04-10 07:57:02 +00:00
elsid
e7f3524924
Add a tool to load and print information about all bullet objects in all cells 2022-02-04 16:14:52 +01:00
Timo Gurr
7e346fbbdd cmake: for now do not use CMAKE_INSTALL_DATAROOTDIR for GLOBAL_DATA_PATH 2022-01-30 21:39:28 +00:00
elsid
70623d0b23
Move FetchContent for benchmark to extern 2022-01-30 00:44:22 +01:00
Timo Gurr
71fe57f7a5 cmake: Use GNUInstallDirs to install data directories 2022-01-29 12:57:04 +00:00
Petr Mikheev
88a83bab1f Remove predefined data paths data="?global?data", data=./data (#6564) 2022-01-27 22:48:27 +01:00
uramer
886dee57ee Always use /bigobj, clean up scattered uses into one 2022-01-17 08:05:19 +00:00
uramer
94b2bde48a Raise required MyGUI version to 3.4.1 2021-12-16 16:59:20 +01:00
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.
2021-12-11 00:21:56 +01:00
Bret Curtis
9336626927 use OPENMW_RESOURCES_ROOT instead 2021-12-08 14:33:49 +01:00
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 2021-12-08 14:28:56 +01:00
Petr Mikheev
d3df3efaf1 Precompile sol.hpp in order to reduce compilation time. 2021-12-04 11:32:39 +00:00
Brian Kelley
ee41b94a73 Enable compilation on apple silicon 2021-11-15 19:01:52 +00:00
wareya
db04dee29d Force MSVC to build in utf-8 mode 2021-11-04 10:09:48 -04:00
Bret Curtis
fa5581942e
Update CMakeLists.txt 2021-10-27 23:54:04 +02:00
Bret Curtis
1a51c6eb5d
Update CMakeLists.txt 2021-10-27 23:40:54 +02:00
Bret Curtis
cd358ce1f9
Update CMakeLists.txt 2021-10-27 11:48:17 +02:00
Bret Curtis
62b59a3c00
Update CMakeLists.txt 2021-10-23 12:56:02 +02:00
Bret Curtis
e65af0bf06
Silence all opengl deprecation warnings for MacOS
We know...
2021-10-23 10:48:37 +02:00
elsid
2bace703d5
Add dependency to SQLite3
This will be required by navmeshtool.
2021-10-11 19:34:07 +02:00
Evil Eye
a1825980c4 Define OpenMW specific C++ flags 2021-10-06 17:28:48 +02:00
Evil Eye
d680aa26e9 Disallow switch fallthrough 2021-10-03 21:58:10 +02:00
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.
2021-09-17 19:59:11 +02:00
pi03k
e4eeb9cce9 Remove 'no relevant classes' moc warning 2021-09-14 11:20:18 +02:00
elsid
1b1deeb59b
Fail CI build when not allowed warnings are present
Put -Wno-error after -Wall to make it work properly for clang.
2021-09-05 02:06:03 +02:00
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.
2021-08-20 19:02:09 +02:00
Bret Curtis
08a9abc46f get openmw building with LuaJIT on macos 2021-07-16 16:35:03 +02:00
Petr Mikheev
4db5fa351d Add sol3.2.2/sol/sol.hpp to extern instead of downloading during building 2021-07-12 11:46:32 +02:00
Petr Mikheev
9e168fd9cc Add Lua/LuaJit and sol3 to openmw 2021-07-09 19:27:00 +02:00
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.
2021-06-26 20:00:25 +01:00
Bret Curtis
36bb966ca1 Getting the ball rolling for 0.48 2021-06-18 23:16:03 +02:00
psi29a
dd197765c8 cmake check to enforce that if someone uses OSG 3.6, that it is at least 3.6.5 2021-06-16 08:28:48 +00:00
psi29a
e9fbd76e9b Merge branch 'windows_tests' into 'master'
Support running tests and benchmarks for windows

See merge request OpenMW/openmw!839
2021-05-18 08:12:22 +00:00
psi29a
4bc7012104 Merge branch 'pack-default-settings' into 'master'
Pack default settings

Closes #5925

See merge request OpenMW/openmw!822
2021-05-18 08:11:13 +00:00
AnyOldName3
081650a2e5 Integrate Base64 library with build 2021-05-17 23:00:23 +01:00
psi29a
b583c2300c Merge branch 'maybe-fix#5551' into 'master'
Fix #5551

Closes #5551

See merge request OpenMW/openmw!802
2021-05-17 08:16:02 +00:00
Andrei Kortunov
963e1b8b3f Fix MSVC's C4244 warnings 2021-05-12 10:34:40 +04:00
Andrei Kortunov
f9d42ed396 Fix MSVC's C4267 warnings 2021-05-12 10:34:39 +04:00
elsid
4d7e5245a3
Support benchmarks for windows
Don't run the binary because gitlab can't execute it successfully due to
unknown reason.
2021-05-11 13:16:59 +02:00
AnyOldName3
0d737a3501 Create defaults.bin at configure time 2021-05-09 21:00:49 +01:00
Bret Curtis
4f5d697e2b Do not fail when unable to detect the FFMPEG version, like windows. 2021-05-05 10:36:34 +02:00
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.
2021-05-03 00:08:47 +01:00
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
2021-05-02 20:52:57 +00:00
fredzio
6fd04cb8f6 Remove support for single-precision Bullet, fail during configuration instead of during linking. 2021-05-02 17:48:50 +02:00
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
2021-05-01 22:20:51 +00:00
Chris Djali
f0cef87cd8
Merge pull request #3069 from akortunov/msvc_warnings
Rework warnings settings
2021-05-01 19:03:43 +01:00
psi29a
16bb3919d1 Merge branch 'navmesh_cache_simplification' into 'master'
Simplify navmesh cache

See merge request OpenMW/openmw!691
2021-04-28 08:01:06 +00:00
Andrei Kortunov
8aa76ff540 Use W4 instead of Wall for MSVC 2021-04-23 22:54:02 +04:00
Andrei Kortunov
f2f2c3d873 Disable -Wsuggest-override again since we have no control over code from FetchContent 2021-04-21 09:28:51 +04:00
Andrei Kortunov
1b1c786d0c Do not suppress fixed MyGUI warnings 2021-04-19 15:34:22 +04:00
Andrei Kortunov
f308dde254 Clean up MSVC warnings 2021-04-17 12:14:50 +04:00
elsid
b9a40bc5fc
Add NavMeshTilesCache benchmarks 2021-03-25 19:28:41 +01:00
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).
2021-03-16 19:52:10 +00:00
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
2021-03-16 01:36:07 +00:00
AnyOldName3
450b971bb0 Merge branch 'gl4es-patch' into 'master'
gl4es: Delay feature detection until a context exists

See merge request OpenMW/openmw!626
2021-03-10 19:01:39 +00:00
Bret Curtis
c4064fca0c include feedback and add DebugUtils and Detour 2021-03-02 23:11:06 +01:00
Bret Curtis
28cb14289a initial attempt at FindRecastNavigation.cmake 2021-03-02 22:48:17 +01:00
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
2021-02-28 07:59:48 +00:00
psi29a
96b5581930 Merge branch 'fetchcontent-recast-navigation' into 'master'
Move recastnavigation to FetchContent

Closes #5793

See merge request OpenMW/openmw!614
2021-02-20 00:36:42 +00:00
Gleb Mazovetskiy
e265d0bc2b Fix OSGPlugins_LIB_DIR on the MacOS build
Moves auto-detection of OSGPlugins_LIB_DIR into FindOSGPlugins.cmake.

This should hopefully fix the error in the MacOS build.
2021-02-19 19:00:24 +00:00
Gleb Mazovetskiy
1c9245bd58 Move recastnavigation to FetchContent 2021-02-19 18:35:34 +00:00
psi29a
5c0214142b Merge branch 'static-build' into 'master'
Optional local source builds of OSG, MyGUI, Bullet

See merge request OpenMW/openmw!547
2021-02-19 16:58:05 +00:00
AnyOldName3
c97980a0f6 Don't force linker to work with doubly-defined symbols 2021-02-11 01:35:32 +00:00
Gleb Mazovetskiy
3d334dae75 Fix MYGUI/OSG_STATIC and BUILD_SHARED_LIBS 2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
daf080ff19 cmake: Move MYGUI/OSG_STATIC default to top-level
Makes it clear that the USE_SYSTEM variables affect the defaults of
STATIC variables.
2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
26814b2386 CMakeLists.txt: Restore policies as we unbumped cmake version 2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
98564b0aae cmake: move cmake_minimum_required bump to extern/CMakeLists.txt 2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
a06f598442 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) before add_subdirectory(extern) 2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
8737453498 cmake: Compiler-specific whole-archive macro 2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
93fe84aea8 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) from extern to top-level 2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
99ba45a308 Optional static builds of OSG, MyGUI, Bullet 2021-01-26 19:00:55 +00:00
Gleb Mazovetskiy
24d8412c0c cmake: Fix missing OPENGL_INCLUDE_DIR
OPENGL_INCLUDE_DIR wasn't being included.
It is usually just /usr/include but if it was custom the build failed.
2021-01-14 02:52:59 +00:00
wareya
18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 2020-12-27 22:16:11 +00:00
Mads Buvik Sandvei
637c76f438 Update CMakeLists.txt 2020-12-19 08:34:36 +00:00
Mads Buvik Sandvei
a2a462f416 Update CMakeLists.txt to disable MSVC warning 4866 2020-12-18 20:04:24 +00:00
Nelsson Huotari
6e77ad1f6a OSG-Collada animation support 2020-11-19 01:11:56 +02:00
Bret Curtis
4032b754e4 set minimal boost version; remove #ifdef boost version checks 2020-10-25 22:43:10 +01:00
Bret Curtis
449e7ce86f C++17; make it count 2020-10-21 22:12:24 +02:00
Bret Curtis
82431b752d removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd 2020-10-20 23:38:05 +02:00
psi29a
c62546fb12 make it count 2020-10-20 23:38:05 +02:00
psi29a
c86094e4db Bump to C++17 2020-10-20 23:38:05 +02:00
Bret Curtis
7954dccb44 lz4 prep work; get linux and windows ready 2020-10-19 22:31:42 +03:00
psi29a
b222872446 Android build on gitlab 2020-10-19 08:27:38 +00:00
Bret Curtis
8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
2020-10-17 13:32:08 +02:00
Andrei Kortunov
8ca3c3b123 Mark overrided methods by override keyword 2020-10-16 22:18:54 +04:00
Chris Djali
590635906b
Fix MSVC 2017
Resolves the regression introduced with Async Physics
2020-10-15 21:02:57 +01:00
tess
38e567a7e4 match opening and closing if args 2020-10-08 19:34:03 +00:00
tessa
02861fa8e3 fix cmake warning 2020-10-08 13:06:04 -05:00
AnyOldName3
683cf8cad5 Remove incorrect spaces from filename 2020-10-06 16:56:55 +00:00
fredzio
e2a603f6e8 Remove blank space 2020-10-06 09:08:49 +02:00
fredzio
ae38b3d9b2 Put the install logic in one place for all platforms 2020-09-23 20:00:32 +02:00
AnyOldName3
be5fd6fd03 Exclude directories correctly
We don't need `/*` as we don't want the directory itself, not just its
contents. We also need to list possible other directories explicitly as
there's currently no way to skip directories without matches.

It would be much nicer if CMake was tracking the DLLs we needed for us.
2020-09-23 20:00:32 +02:00
AnyOldName3
8dd820ba48 Exclude deps 2020-09-23 20:00:32 +02:00
AnyOldName3
d0ddf488db Install PDBs when appropriate 2020-09-23 20:00:32 +02:00
AnyOldName3
db0f7c607f Make Windows install target slightly less breakable 2020-09-23 20:00:32 +02:00
fredzio
87290cf6d1 Add support for multi configurations generators on unix
Since version 3.17 cmake supports the Ninja Multi-Config
No change for Xcode, VS and Ninja "single config"
2020-09-23 20:00:32 +02:00
AnyOldName3
643db61dfb Make warnings more informative. 2020-09-03 20:38:02 +01:00
AnyOldName3
1dcea961c6 Only enable LTO for release
This is how it was for the original implementation
2020-09-03 20:15:53 +01:00
Eli2
257a6b4629 Use cmake method to enable interprocedural optimizations 2020-09-03 20:01:20 +01:00
AnyOldName3
9d083ae8de Merge branch 'small_fixes' into 'master'
move project/cmake to top; set OpenGL_GL_PREFERENCE to LEGACY since we use GL2...

See merge request OpenMW/openmw!266
2020-08-21 17:24:08 +00:00
Bret Curtis
b0c4336577 update DejaVuFontLicense entry 2020-07-26 22:53:46 +02:00
Bret Curtis
e40b309d83 move project/cmake to top; set OpenGL_GL_PREFERENCE to LEGACY since we use GL2 and GLNVD is for GL3 and up (https://github.com/openscenegraph/OpenSceneGraph/issues/639); set our RTD to point to stable and not master, stable follows our latest stable release 2020-07-17 16:23:12 +02:00
Bret Curtis
f47d2bb8af make sure we use case-sensative BULLET_ prefix 2020-07-10 15:01:44 +02:00
Bret Curtis
16ca9e2fbd put back INSTALL platforms 2020-06-22 21:16:23 +02:00
Bret Curtis
61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 2020-06-22 12:17:06 +02:00
laikh
d6e4fbe085 Fix mingw Windows build 2020-05-24 08:53:43 +08:00
Andrei Kortunov
add42830d9 Add a flag to use double-precision functions from Bullet 2020-05-15 12:48:47 +04:00
elsid
fa861f5d8e
Revert remove of platforms install 2020-05-13 18:20:37 +02:00
elsid
e095f6b306
Remove install for not existing file 2020-05-09 19:43:48 +02:00
elsid
99cd99bc3b
Remove unused BUILD_MYGUI_PLUGIN option 2020-05-09 19:42:36 +02:00
Frederic Chardon
513ac8986d Add link to opencs documentation on readthedocs, available through
context menu.
The documentation opens in default browser.

There are 3 contexts:
- global: opens the OpenMW CS User Manual main page
- when a record is selected: opens the "Tables" page
- when the filter field is selected: opens the "Record Filters" page

There is also a link to the OpenCS tutorial in the help menu.
2020-04-18 20:54:21 +00:00
Bret Curtis
613189d7d9 bump to 0.47 for new dev cycle 2020-04-07 12:55:17 +02:00
Bret Curtis
b243ee6f74
Merge pull request #2744 from OpenMW/debian_appstream
add launchable type
2020-04-05 10:05:20 +02:00
Roman Siromakha
3bd2c114a7
Merge pull request #2741 from akortunov/warnfix
Fix C5204 warnings by adding default virtual destructors
2020-04-04 00:12:07 +02:00
Hristos N. Triantafillou
da7032caff
Two more that I missed 2020-04-02 13:45:11 -05:00
Hristos N. Triantafillou
e6a6411b95
These files aren't in the repo anymore 2020-04-02 13:32:49 -05:00
Andrei Kortunov
e63325ebff Support for camera rotation via gyroscope on Android (feature #5311) 2020-04-01 19:57:04 +04:00
Bret Curtis
deac2abc0f add launchable type; rename files to be conform to freedesktop.org and debian standards 2020-03-27 08:12:06 +01:00
Andrei Kortunov
fe75308fdb Disable warning C5204 which come from Boost library 2020-03-26 14:51:14 +04:00
Andrei Kortunov
05a8702b6e Fix Boost 1.70+ detection 2019-11-28 16:46:18 +04:00
capostrophic
1f3740225b Purge unnecessary recast stuff 2019-08-05 01:40:35 +03:00
Grigory
28e54c25ee Add -DMYGUI_DONT_REPLACE_NULLPTR 2019-07-28 21:04:37 +03:00
Andrei Kortunov
9059971a69 Increase required MyGUI version to 3.2.2 2019-04-22 20:52:18 +04:00
Bret Curtis
df9a8cf957 bump from 11 to 14 2019-04-09 22:34:26 +02:00
Nikolay Kasyanov
6363cc8839 Relax CMake version requirements on macOS 2019-03-28 20:48:54 +01:00
Bret Curtis
bf144fb356
Merge pull request #2238 from Capostrophic/freetype
Include osgdb_freetype in builds with statically linked OSG
2019-03-10 11:48:25 +01:00
Capostrophic
7a07984e2c Include osgdb_freetype in builds with statically linked OSG 2019-03-10 01:11:23 +03:00
elsid
a979d24bf3
Mark OpenSceneGraph include directories as system
To avoid warnings spam when use custom build.
2019-03-09 17:33:31 +03:00
AnyOldName3
8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 2019-01-24 23:09:23 +00:00
Capostrophic
c9df63ffd1 Replace BSAOpt hash calculation with a custom function 2019-01-22 02:22:57 +03:00
Azdul
a3bcd95546 Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa 2019-01-18 09:11:41 +01:00
Azdul
b30d2bab57 Zlib only for Win32 2019-01-16 20:47:59 +01:00