Commit Graph

1087 Commits (6090bfcdab36c7fd4a008c463782c11a10fedafb)

Author SHA1 Message Date
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
psi29a 96b5581930 Merge branch 'fetchcontent-recast-navigation' into 'master'
Move recastnavigation to FetchContent

Closes #5793

See merge request OpenMW/openmw!614
4 years ago
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.
4 years ago
Gleb Mazovetskiy 1c9245bd58 Move recastnavigation to FetchContent 4 years ago
psi29a 5c0214142b Merge branch 'static-build' into 'master'
Optional local source builds of OSG, MyGUI, Bullet

See merge request OpenMW/openmw!547
4 years ago
AnyOldName3 c97980a0f6 Don't force linker to work with doubly-defined symbols 4 years ago
Gleb Mazovetskiy 3d334dae75 Fix MYGUI/OSG_STATIC and BUILD_SHARED_LIBS 4 years ago
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.
4 years ago
Gleb Mazovetskiy 26814b2386 CMakeLists.txt: Restore policies as we unbumped cmake version 4 years ago
Gleb Mazovetskiy 98564b0aae cmake: move cmake_minimum_required bump to extern/CMakeLists.txt 4 years ago
Gleb Mazovetskiy a06f598442 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) before add_subdirectory(extern) 4 years ago
Gleb Mazovetskiy 8737453498 cmake: Compiler-specific whole-archive macro 4 years ago
Gleb Mazovetskiy 93fe84aea8 cmake: Move USED_OSG_(COMPONENTS|PLUGINS) from extern to top-level 4 years ago
Gleb Mazovetskiy 99ba45a308 Optional static builds of OSG, MyGUI, Bullet 4 years ago
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.
4 years ago
wareya 18ef32ca82 values for this higher than sGroundOffset cause jittering on some surface; use safe-seeming value slightly less than sGroundOffset 4 years ago
Mads Buvik Sandvei 637c76f438 Update CMakeLists.txt 4 years ago
Mads Buvik Sandvei a2a462f416 Update CMakeLists.txt to disable MSVC warning 4866 4 years ago
Nelsson Huotari 6e77ad1f6a OSG-Collada animation support 4 years ago
Bret Curtis 4032b754e4 set minimal boost version; remove #ifdef boost version checks 4 years ago
Bret Curtis 449e7ce86f C++17; make it count 4 years ago
Bret Curtis 82431b752d removed unnessary bits that cmake should be doing for us; replace Misc::gcd with std::gcd 4 years ago
psi29a c62546fb12 make it count 4 years ago
psi29a c86094e4db Bump to C++17 4 years ago
Bret Curtis 7954dccb44 lz4 prep work; get linux and windows ready 4 years ago
psi29a b222872446 Android build on gitlab 4 years ago
Bret Curtis 8050882baf
Merge pull request #3015 from akortunov/overrides
Mark overrided methods as overrides
4 years ago
Andrei Kortunov 8ca3c3b123 Mark overrided methods by override keyword 4 years ago
Chris Djali 590635906b
Fix MSVC 2017
Resolves the regression introduced with Async Physics
4 years ago
tess 38e567a7e4 match opening and closing if args 4 years ago
tessa 02861fa8e3 fix cmake warning 4 years ago
AnyOldName3 683cf8cad5 Remove incorrect spaces from filename 4 years ago
fredzio e2a603f6e8 Remove blank space 4 years ago
fredzio ae38b3d9b2 Put the install logic in one place for all platforms 4 years ago
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.
4 years ago
AnyOldName3 8dd820ba48 Exclude deps 4 years ago
AnyOldName3 d0ddf488db Install PDBs when appropriate 4 years ago
AnyOldName3 db0f7c607f Make Windows install target slightly less breakable 4 years ago
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"
4 years ago
AnyOldName3 643db61dfb Make warnings more informative. 4 years ago
AnyOldName3 1dcea961c6 Only enable LTO for release
This is how it was for the original implementation
4 years ago
Eli2 257a6b4629 Use cmake method to enable interprocedural optimizations 4 years ago
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
4 years ago
Bret Curtis b0c4336577 update DejaVuFontLicense entry 4 years ago
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 5 years ago
Bret Curtis f47d2bb8af make sure we use case-sensative BULLET_ prefix 5 years ago
Bret Curtis 16ca9e2fbd put back INSTALL platforms 5 years ago
Bret Curtis 61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 5 years ago
laikh d6e4fbe085 Fix mingw Windows build 5 years ago
Andrei Kortunov add42830d9 Add a flag to use double-precision functions from Bullet 5 years ago
elsid fa861f5d8e
Revert remove of platforms install 5 years ago
elsid e095f6b306
Remove install for not existing file 5 years ago
elsid 99cd99bc3b
Remove unused BUILD_MYGUI_PLUGIN option 5 years ago
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.
5 years ago
Bret Curtis 613189d7d9 bump to 0.47 for new dev cycle 5 years ago
Bret Curtis b243ee6f74
Merge pull request #2744 from OpenMW/debian_appstream
add launchable type
5 years ago
Roman Siromakha 3bd2c114a7
Merge pull request #2741 from akortunov/warnfix
Fix C5204 warnings by adding default virtual destructors
5 years ago
Hristos N. Triantafillou da7032caff
Two more that I missed 5 years ago
Hristos N. Triantafillou e6a6411b95
These files aren't in the repo anymore 5 years ago
Andrei Kortunov e63325ebff Support for camera rotation via gyroscope on Android (feature #5311) 5 years ago
Bret Curtis deac2abc0f add launchable type; rename files to be conform to freedesktop.org and debian standards 5 years ago
Andrei Kortunov fe75308fdb Disable warning C5204 which come from Boost library 5 years ago
Andrei Kortunov 05a8702b6e Fix Boost 1.70+ detection 5 years ago
capostrophic 1f3740225b Purge unnecessary recast stuff 5 years ago
Grigory 28e54c25ee Add -DMYGUI_DONT_REPLACE_NULLPTR 6 years ago
Andrei Kortunov 9059971a69 Increase required MyGUI version to 3.2.2 6 years ago
Bret Curtis df9a8cf957 bump from 11 to 14 6 years ago
Nikolay Kasyanov 6363cc8839 Relax CMake version requirements on macOS 6 years ago
Bret Curtis bf144fb356
Merge pull request #2238 from Capostrophic/freetype
Include osgdb_freetype in builds with statically linked OSG
6 years ago
Capostrophic 7a07984e2c Include osgdb_freetype in builds with statically linked OSG 6 years ago
elsid a979d24bf3
Mark OpenSceneGraph include directories as system
To avoid warnings spam when use custom build.
6 years ago
AnyOldName3 8482236a82 Merge remote-tracking branch 'upstream/master' into osgshadow-test-vdsm 6 years ago
Capostrophic c9df63ffd1 Replace BSAOpt hash calculation with a custom function 6 years ago
Azdul a3bcd95546 Merge branch 'cc9cii' of https://github.com/cc9cii/openmw into tes4_bsa 6 years ago
Azdul b30d2bab57 Zlib only for Win32 6 years ago