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

514 commits

Author SHA1 Message Date
psi29a
40471666c1 Merge branch 'cherry-pick-cc27baec' into 'master'
Merge branch 'update-windows-deps' into 'master'

See merge request OpenMW/openmw!2283
2022-08-16 08:49:24 +00:00
psi29a
598af8122b removed clang_no_mold 2022-08-16 07:35:23 +00:00
psi29a
db5ca630f7 Merge branch 'update-windows-deps' into 'openmw-48'
Update OSGoS dependency package

See merge request OpenMW/openmw!2278

(cherry picked from commit cc27baec62)

14663b83 Update OSGoS dependency package
944e7489 Use the correct debug-suffixes for dependencies
619bb73d Add lost backslash
149d0b2f Increment CI cache key for Windows builds
2022-08-16 07:21:47 +00:00
psi29a
0d5d416ee4 Update .gitlab-ci.yml, CI/install_debian_deps.sh 2022-08-12 07:04:11 +00:00
elsid
a5a3ccd0d2
Use ubuntu:20.04 docker image for Coverity 2022-08-05 11:46:05 +02:00
elsid
8e4f6fc4e4
Use FetchContent to get googletest 2022-08-04 01:12:11 +02:00
elsid
7036b1e94d
Use mold linker 2022-07-31 20:27:42 +02:00
elsid
f1f3d12f7b
Replace tabs with spaces 2022-07-31 19:59:24 +02:00
elsid
9157c96c9b
Do not build bulletobjectool and niftest when build tests 2022-07-31 19:59:24 +02:00
elsid
c51d949d1e
Add GCC Debug job
To build code with enabled assertions but disable symbols to make it faster.
2022-07-31 19:59:24 +02:00
elsid
48ddcda992
Enable GCC test jobs
To build tests in release mode, run tests with sanitizers and measure coverage.
2022-07-31 19:59:24 +02:00
elsid
13a92b8cc2
Use Ubuntu 22.04 for Linux builds 2022-07-29 12:08:16 +02:00
psi29a
201528a6e2 Merge branch 'issue-6435' into 'master'
Issue 6435: Allow builds using Visual Studio 2022

See merge request OpenMW/openmw!2144
2022-07-27 12:03:07 +00:00
AnyOldName3
6e3c04195c Enable LTO Release builds on Windows by default 2022-07-25 10:04:36 +00:00
Max Henzerling
281abae2fd Issue-64356: Add support for msvc 2022 2022-07-24 20:12:20 -07: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
Project579
c3e2f84273 Fix clang-tidy on CI and introduce .clang-tidy file 2022-07-13 00:38:24 +00:00
psi29a
f8f2e00eca Fix mouse clicking with sdl2 2.0.22 2022-07-05 17:44:22 +00:00
elsid
7989d1645f
Run integration tests in CI 2022-07-04 20:38:29 +02:00
Jan Thomas
274ad0785d add flatpak ci 2022-06-30 15:06:28 +02:00
jvoisin
12bace3552 Silence a minor git warning
No need to pollute the CI log output.
2022-06-16 21:45:50 +02:00
psi29a
2586beed72 Updating Boost on windows to 1.79 to support C++20 2022-06-15 14:55:42 +00:00
psi29a
3b95797473 Merge branch 'Project5791-master-patch-42764' into 'master'
Update CI/build_googletest.sh

See merge request OpenMW/openmw!2005
2022-06-12 12:38:22 +00:00
Project579
d3d9e66ffd Update CI/build_googletest.sh
googletest v1.11.0 is required for building with C++20.
2022-06-12 12:07:40 +00:00
psi29a
bb0dad7c08 Update to C++20 and see if our CI can handle it. 2022-06-12 08:00:11 +00:00
AnyOldName3
eedae407ab Tell CMake where to find ICU properly
I had a problem where CMake picked up half of ICU from its C API, which
is included with the Windows SDK, and half from the C++ API we provide.
This should prevent that.

* ICU_ROOT takes precedence as a CMake variable so do that instead of as
  an environment variable.
* ICU_LIBRARY is an output of FindICU.cmake, not an input, so don't set
  it.
* FindICU.cmake needs telling about components via their own variables.
2022-05-02 19:49:30 +01: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
psi29a
c23ca2e882 Merge branch 'macos_icu_root' into 'master'
Added missing line continuation to ICU_ROOT setting on macos CI

See merge request OpenMW/openmw!1784
2022-04-19 07:12:27 +00:00
Benjamin Winger
7821029056
Added missing line continuation to ICU_ROOT setting on macos CI 2022-04-18 19:35:23 -04:00
Benjamin Winger
165f146e69
Added ICU runtime DLLs to Windows builds 2022-04-12 19:37:10 -04:00
Benjamin Winger
2c5a4e6416
Set ICU_ROOT instead of PKG_CONFIG_PATH to find ICU on macos 2022-04-10 15:26:25 -04:00
Benjamin Winger
8bd16179a6
Allow CMake to find the ICU version installed through homebrew 2022-04-10 12:39:03 -04:00
Benjamin Winger
21ffbcc4b4 Lua i18n updates 2022-04-10 07:57:02 +00:00
psi29a
f6757ce124 ccache for Windows 2022-03-02 09:06:58 +00:00
Bret Curtis
ad11cc8d8a reinstall fontconfig as needed; const an imbigious == operator 2022-03-01 10:53:01 +01:00
psi29a
bb2a7d7996 Merge branch 'coverage' into 'master'
Provide unit tests and coverage reports from CI

See merge request OpenMW/openmw!1675
2022-02-23 08:26:23 +00:00
elsid
56b9e29093
Provide unit tests reports and coverage from CI
Use https://docs.gitlab.com/ee/ci/unit_test_reports.html#googletest for unit tests reports.
Use https://docs.gitlab.com/ee/user/project/merge_requests/test_coverage_visualization.html#cc-example
for coverage reports.
2022-02-22 00:17:20 +01: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
psi29a
010dc90d42 Have Android CI also use latest ccache to fix issues with cmake. 2022-01-31 07:57:08 +00:00
elsid
28ce8fd0f3
Add separate jobs to run tests with ASAN, TSAN, UBSAN
To not slow down benchmarks with all optimizations.
2022-01-30 02:03:45 +01:00
Petr Mikheev
e4cb1a1370 Run unit tests in CI with -fsanitize=address 2022-01-26 22:18:03 +00:00
psi29a
a79bdf07d2 do some bash magic to rearrange CXX_FLAGS 2022-01-19 15:48:35 +00:00
psi29a
b3bbcef25e Merge branch 'make_appveyor_great_again' into 'master'
do some Appveyor Qt magic to get it all sorted

See merge request OpenMW/openmw!1564
2022-01-18 23:29:46 +00:00
psi29a
bdd13f36b2 do some Appveyor Qt magic to get it all sorted 2022-01-18 23:29:45 +00:00
psi29a
ca6262c033 switch Static Deps and Tests from GCC to clang and set to -O0 to speed up builds 2022-01-18 18:22:46 +00:00
psi29a
877f5c445e Add librecast-dev to deps that needed for Debian/Ubuntu 2022-01-10 19:38:55 +00:00
jvoisin
40faf54250 Remove -bugprone-narrowing-conversions from clang-tidy 2022-01-04 19:32:49 +00:00
psi29a
1816784784 Update CI/before_script.osx.sh to allow full use of c++17 on macOS 2022-01-04 09:14:16 +00:00
jvoisin
c9fb4ee2ed Silence apt-get install even more 2021-12-22 22:43:23 +00:00
jvoisin
766cb52523 Factorise add-apt-repository -y ppa:openmw/openmw 2021-12-21 14:53:31 +00:00
Evil Eye
e967e0544f Upgrade to SDL 2.0.18 2021-12-15 21:13:22 +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
jvoisin
810ad9d3fb Silence apt-get install 2021-12-09 20:05:33 +01:00
psi29a
365739d609 Give psi29a's custom android-ndk22 a go 2021-11-14 20:17:30 +00: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
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
jvoisin
8056476d64 Add clang-tidy 2021-07-25 18:02:05 +02:00
Bret Curtis
ae5302f9cf typo2 2021-07-17 10:14:04 +02:00
Bret Curtis
c2c754b1cc typo 2021-07-16 23:18:28 +02:00
Bret Curtis
6bcb7a86dd update brew; remove need for brew install lua 2021-07-16 20:01:12 +02:00
Bret Curtis
08a9abc46f get openmw building with LuaJIT on macos 2021-07-16 16:35:03 +02:00
elsid
e1c525914c
Add CI jobs to build tests in debug mode 2021-07-11 01:10:55 +02:00
Petr Mikheev
9a5229a821 Temporary fix for MacOS build. Remove this commit after resolving #5990. 2021-07-09 20:03:27 +02:00
Petr Mikheev
9e168fd9cc Add Lua/LuaJit and sol3 to openmw 2021-07-09 19:27:00 +02:00
AnyOldName3
3014963145 Fail on bad download instead of downloading HTML 404 page 2021-07-04 15:20:27 +00:00
psi29a
a0659cd017 Merge branch 'bump_windows_deps' into 'master'
bump windows build deps to OSGoS 3.6 and MyGUI 3.4.1

See merge request OpenMW/openmw!938
2021-06-19 00:13:08 +00:00
Bret Curtis
7be09078b4 bump mac deps to include collada 2021-06-17 01:12:31 +02:00
Bret Curtis
4ffc30f502 add OSGoS hash 2021-06-12 16:06:22 +02:00
Bret Curtis
fced78b66a bump windows build deps to OSGoS 3.6 and MyGUI 3.4.1 2021-06-12 15:35:40 +02:00
Bret Curtis
91e1898aa2 make use of gitlab openmw-deps 2021-06-11 20:27:17 +02:00
Bret Curtis
49ce26361e update mac deps to include latest OSGoS 3.6, mygui 3.4.1 and multi-threaded bullet 2021-06-11 16:44:15 +02: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
elsid
6492e9522a
Run benchmarks on gitlab CI 2021-05-10 00:21:03 +02:00
psi29a
1e9a7894d5 Merge branch 'no_recommends' into 'master'
Don't install recommended packages in Debian's CI

See merge request OpenMW/openmw!756
2021-05-05 11:45:59 +00:00
jvoisin
885ff36b01 Don't install recommended packages in Debian's CI 2021-05-05 11:45:59 +00:00
Bret Curtis
4129cc244c allow macos11xcode12 to fail for now; but not macos10.15xcode11; add support for macos10.14_xcode10; make sure fontconfig does not update other stuff 2021-05-05 13:35:39 +02:00
Bret Curtis
a1bc10888c add implicit dependancy fontconfig for macos 2021-05-05 11:46:59 +02: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
psi29a
aca5d2fc12 Merge branch 'bump-macos-dependencies' into 'master'
Use prebuilt macOS dependencies with fixed SDL and OSG 3.6

Closes #5939

See merge request OpenMW/openmw!804

(cherry picked from commit 74612b1286330b1e34a9c37528502770496e5bba)

9aaca972 Use prebuilt macOS dependencies with fixed SDL and OSG 3.6
2021-05-02 13:56:31 +00:00
AnyOldName3
a8c5fc74d1 Massively simplify the worst Bash ever 2021-04-28 06:51:15 +00:00
jvoisin
ce654b0504 Don't run brew uninstall outside of travis-ci 2021-04-23 19:21:33 +02:00
nighthawk469
511d3344fe Revert CMAKE_OSX_SYSROOT as this interferes with the gitlab ci builds. 2021-04-22 23:43:30 +00:00
nighthawk469
03bb569995 Revert Xcode sdk version from 11.6 to 10.2 2021-04-22 18:41:02 +00:00
jvoisin
dc10ab7bad Install curl in the coverity job 2021-04-12 11:26:33 +02:00
elsid
010f290fd5
Update OSX deployment target to 10.14
To support std::variant
2021-04-11 14:07:15 +02:00
Max
72a2e3722e update syntax 2021-03-24 14:01:40 -07:00
Max
91bca0cb1f attempt to fix build issue 2021-03-24 13:28:34 -07:00
AnyOldName3
4862e8c8f4 Bump aqt version 2021-03-21 21:30:17 +00:00
psi29a
a4719ffdf3 Merge branch 'fix-windows-theme' into 'master'
Deploy Qt style DLL

Closes #5907

See merge request OpenMW/openmw!667
2021-03-18 08:27:52 +00:00
AnyOldName3
b38a817600 Ensure vswhere finds us a single suitable MSVC installation
Also document the numerous arguments to achieve this.
2021-03-17 23:29:48 +00:00
AnyOldName3
1c296a1a78 Deploy Qt style DLL 2021-03-17 18:11:36 +00:00
Bret Curtis
9fbb530dde be explicit and print version information to verification 2021-03-05 13:25:46 +01:00
Bret Curtis
53cb20454f add path hack only to verify, will remove later 2021-03-05 13:20:03 +01:00
Bret Curtis
f03beb7963 uninstall qt@6 2021-03-05 13:12:42 +01:00
Bret Curtis
8fc0f965bb which qmake? 2021-03-05 13:10:22 +01:00
Bret Curtis
87ede9284b be more explicit 2021-03-05 13:08:38 +01:00
Bret Curtis
17059cefea give qt@5 a try 2021-03-05 13:07:26 +01:00
Bret Curtis
caa8b0ca1a give qt5 a show for brew 2021-03-05 13:03:21 +01:00
Bret Curtis
28cb14289a initial attempt at FindRecastNavigation.cmake 2021-03-02 22:48:17 +01:00
Gleb Mazovetskiy
2798db5418 CI/before_script.linux.sh: <tab> -> 4 spaces and remove unused ENV 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
psi29a
4974b64cbf Update CI/before_install.osx.sh 2021-01-17 15:58:43 +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
AnyOldName3
211894a178 Fix extraction with 7z 9.10
This is still used in the wild as lots of people install 7zip and never update it because it works. We can't check the version and abort if it's too old as the changelog doesn't make it clear which version fixed the behaviour.
2020-11-17 16:14:05 +00:00
corristo
b8ed3b0059 [macOS, CI] Update dependencies, don't use lz4 from Homebrew
Also, enable double precision support for Bullet.
2020-11-10 08:21:46 +00:00
psi29a
c86094e4db Bump to C++17 2020-10-20 23:38:05 +02:00
Bret Curtis
06689cfe2a bingo; cleanup 2020-10-20 23:22:37 +02:00
Bret Curtis
8b5aa4c001 try for link overwriting 2020-10-20 23:06:08 +02:00
Bret Curtis
c3b464a0c8 brew reinstall lz4; purge /tmp/openmw-deps just in case 2020-10-20 23:00:37 +02:00
Bret Curtis
0719b75307 try to use brew version of lz4 2020-10-20 22:28:09 +02:00
psi29a
7b1cd8a72f use LZ4_1.9.2 instead of LZ4_1.9.2 2020-10-20 07:35:02 +00:00
psi29a
1278d3b784 make sure to use new path and trick caching 2020-10-19 22:36:34 +00:00
psi29a
c0e3f1c7ce Update CI/before_script.msvc.sh 2020-10-19 21:59:44 +00:00
psi29a
b3e27fae4c use updated msvc lz4 provided by anyoldname3 2020-10-19 20:29:22 +00:00
Alexei Dobrohotov
d6612eef20 Fix indentation 2020-10-19 22:31:42 +03:00
Bret Curtis
503bf7f78b added lz4 to our macos deps; let us see if that works 2020-10-19 22:31:42 +03:00
Bret Curtis
edd6a329ee tell 7z to extract to specific directory 2020-10-19 22:31:42 +03:00
Bret Curtis
e280a36701 correct filename of lz4 archive; fix indentation 2020-10-19 22:31:42 +03: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
b024518c18 Resolve 'shared_timed_mutex' is unavailable: introduced in macOS 10.12 2020-10-15 11:12:23 +02:00
AnyOldName3
ef41edba9b Install tools in before_install.osx.sh 2020-10-09 13:56:21 +00:00
elsid
23fe60a067
Run unit tests in a separate build 2020-10-03 00:19:29 +02:00
psi29a
1ddfb18cb3 Update CI/before_script.msvc.sh 2020-10-02 21:07:46 +00:00
Bret Curtis
c291bb169e fixed indentation and additional diffs 2020-09-29 13:29:12 +02:00
Bret Curtis
18899394c4 typo in path 2020-09-29 13:13:26 +02:00
Bret Curtis
bf7e1bd32b make switch to using GL hosted windows deps 2020-09-29 12:21:25 +02:00
AnyOldName3
9e547e14d2 Allow setting up multiple build configurations at once
Also fix some bugs discovered in the process.

For multi-config generators, this basically just copies the DLLs for
each configuration, and for single-config, due to there being separate
build directories with separate extracted dependencies for each, it
defaults to just one, and will run the script several times if you
manually specify several.

Details include:
* Changing CONFIGURATION from a string to an array called
  CONFIGURATIONS. This gets iterated over in a bunch of places.
* Fixing a typo of 'cannot'
* Making the DLL lists arrays per-config, too.
* Some handling for the recursive stuff and a warning if configurations
  are set with a multi-config generator.
* Moving the configuration name sanitisation after they've been set.
* Myriad changes to Google Test:
  - Build it in a directory specific to the build tools - previously,
    having an MSVC 2017 and MSVC 2019 build on the same machine was
    impossible if unit tests were on, even though it's allowed otherwise
  - Use either Debug or Release Google Test as its finder isn't looking
    for RelWithDebInfo or capable of dealing with it if we try and use
    it anyway.
  - Always build Google Test with MSBuild as it's much less hassle due
    to CMake setting up the environment for us. Currently, MSVC always
    comes with something that can build solution files, no matter how
    you get it, so this shouldn't upset anyone.
  - Use CMake's --install mode so we can set the install prefix in the
    place that uses it.
  - Pass CMake both Debug and Release Google Test instead of risking a
    C/C++ library configuration mismatch causing linker and runtime
    errors - it'll pick a suitable one for each configuration.
  - Pass the library type explicitly as CMake can't cope without a
    Release library if you only gave it Debug, due to accessing a
    Release-specific variable unconditionally.
* Remove the -legacy flag from vswhere as it's only needed for MSVC
  2015, which we don't support any more.
* Fix the -version argument for vswhere as I'd massively cocked it up.
  I don't know how that happened as I did test it on a machine with
  multiple MSVC versions installed, which was the failure case, but it
  didn't fail then.
2020-09-08 00:18:18 +01:00
AnyOldName3
f4db29a717 Kill BUILD_CONFIG
It was basically just CONFIGURATION but less confusing. CONFIGURATION
could just be less confusing.
2020-09-04 00:45:41 +01:00
AnyOldName3
70384d8a83 Restore previous bash settings on exit 2020-08-27 03:03:03 +01:00
AnyOldName3
b71f13965a Don't set pipefail 2020-08-27 02:30:40 +01:00
descawed
58e0b34adc Verify certificates when downloading dependencies 2020-08-03 22:59:08 +00:00
Nikolay Kasyanov
3be1cdef33
[macOS, CI] Use Xcode 11.6 (#2970)
* [macOS, CI] Use Xcode 11.6

* [macOS, CI] Enable OpenCs build and see how it goes

* [macOS, CI] Re-enable package build and check
2020-07-22 21:54:18 +02:00
AnyOldName3
38f1eae575 Merge remote-tracking branch 'upstream/master' into yet-another-windows-shared-runner-attempt 2020-07-11 01:19:36 +01:00
Bret Curtis
4a17bf27a3 Set BULLET_ROOT via add_cmake_opts like we do the rest 2020-07-11 00:18:14 +02:00
Bret Curtis
14d5b3eeaf try release again and turning on bit by bit for ccache to be used 2020-07-06 07:47:31 +02:00
Bret Curtis
db75398fba only build openmw for now 2020-07-04 11:54:19 +02:00
Bret Curtis
3ea576efdc do not build a few things; temporary disable checking package; get things compiling and cached first 2020-07-03 23:24:54 +02:00
Bret Curtis
1e23d007dd Use Debug instead of Release to increase build time (passing -O0) 2020-07-01 22:23:02 +02:00
Bret Curtis
a62e3a7b35 What happens when I remove the sysroot line? 2020-07-01 18:50:41 +02:00
Bret Curtis
3eeee4bc94 drop need to upgrade qt, 5.15 is by default installed; add CXX_FLAGS; retarget SYSROOT to 10.15 2020-07-01 17:52:34 +02:00
AnyOldName3
0d7b9c51fd Log misparsed stuff as it caused an unexpected CI failure 2020-06-28 03:51:41 +01:00
Evil Eye
fcc761c13c Update Windows CI script to download a version of Google Test that can actually compile the tests 2020-06-27 15:30:28 +02:00
AnyOldName3
35d920569c Tweak error message
As we have `set -e`, the error message would never be printed if we
genuinely failed to create the virtualenv, just if we succeeded and the
expected directories didn't exist.
2020-06-23 15:26:24 +01:00
AnyOldName3
657306c293 Make Qt work on my machine
Switches `eval stuff $STRIP` to `run_cmd` as it'll log errors on failure
and eval was breaking commands that ran just fine otherwise.

Don't download aqt wheel from pip and install it in two separate steps.

Upgrade aqt from 0.8 to 0.9.2 as there are bugs with 0.8 that stop Qt
5.15.0 from working for some people.

Fall back to Qt 5.14.2 for 64-bit on MSVC 2017 as the package list is
broken and that specific combination doesn't work right now.
2020-06-23 15:22:59 +01:00
Bret Curtis
ae49549f03
change build type to debug for ci/cd
it should set -O0 which should prioritise fast compilation for gcc
2020-06-23 12:19:38 +02:00
Bret Curtis
ad25b22db7 removed need for split compilation for static analysis, we've gone from openmw taking 30 minutes to taking 3. Merging them also makes our before_script.linux.sh less complicated; removed redundant CMAKE flag; set build type to RelWithDebInfo as None has no meaning (even if it still builds). 2020-06-23 07:59:05 +02:00