606 Commits

Author SHA1 Message Date
AnyOldName3
fe97e3c888 Move brew repair and update to architecture-independent script
It installs things now, so these commands are useful.
2025-09-12 18:09:12 +01:00
AnyOldName3
998c738ed0 Add some options from the Windows script to the MacOS script
Hopefully, they might even work, too.

Also move ccache installation to the CI script as it's not mandatory to use ccache for local builds.
2025-09-06 01:29:44 +01:00
AnyOldName3
98bb4af0cb Use correct shebang
[[ doesn't work in real sh, only in more advanced shells pretending to be sh.
2025-09-06 01:07:02 +01:00
AnyOldName3
0a2c929a76 Don't meddle with people's git settings
I can't see any reason for this to have been necessary in CI in the first place as we do CI runs for commits on a branch, not for a detached head.
Despite that, I've left it in the Linux and Android scripts as we don't suggest anyone runs those on their own machines.
2025-09-06 00:56:46 +01:00
AnyOldName3
ff60b741a7 Move architecture-independent tool installation to common script 2025-09-06 00:51:52 +01:00
AnyOldName3
c70a7cd15b Eliminate single-line ccache scripts
They used to be necessary because they selected CMake of the same architecture as the build target, but now we use native ccache, they don't do anything meaningful.

Make things consistent with other platforms and just call ccache directly in the CI script.
2025-09-05 01:01:41 +01:00
AnyOldName3
6cdcbd957a And the same with CMake 2025-09-05 00:56:36 +01:00
AnyOldName3
a4be773e9c Native ccache won't work if we insist on an architecture 2025-09-05 00:56:36 +01:00
AnyOldName3
3bf68d44b7 Try using native CMake and CCache
In principle, CMake should be able to cross-compile just fine and CCache shouldn't care.
Maybe homebrew meddles with the default configuration and this will break things, though.
We shall see.
2025-09-05 00:55:52 +01:00
AnyOldName3
9fe8f3b03c Attempt to use Qt not necessarily from brew
The homebrew package should add qmake to the path, and qmake knows where Qt is.
If this works for brew, it should work for not-brew, too.

This *might* give a trailing /lib on the path CMake sees, but CMake implicitly tries adding a /lib suffix to paths in CMAKE_PREFIX_PATH, so this shouldn't make a difference to anything.
2025-09-05 00:55:52 +01:00
AnyOldName3
f155b0199e Undo part of !4759
https://gitlab.com/OpenMW/openmw/-/merge_requests/4759#note_2606465930 was marked as resolved without really being resolved, so bypassed normal review and was merged prematurely.

We tell developers to run these scripts on their machines, so it's rude to install things we don't have to over the top of an existing installation.
If the existing installation was via brew via the default sources, then it's clever enough not to break things, but if it's using custom sources or the install is outside of brew, it'll either break or overwrite what's there.

The three tools we've historically checked before overwriting all have an upstream MacOS distribution that isn't through brew, so it's decently likely that they exist, and we've never agreed to drop support for them.

I went a little further than the original code:
* I added a check before overwriting brew itself.
  I don't know whether the install script would notice this anyway.
* I added a check to ensure it's specifically Qt 6.x that's already installed as we dropped support for Qt 5.
* I added the checks back to both scripts even though !4759 only removed them from one.
  There only used to be one script, and when it was split, the checks only made it to one copy.

I could have gone further by adding checks for other tools before we install them, but we didn't have these in the past and I couldn't be bothered.

Try ARCHPREFERENCE environment variable

Go back to using subshell

ARCHPREFERENCE won't retroactively relaunch the current shell.

Also use /usr/local/bin/brew as the x86_64 version we just installed isn't added to the path by default.

Fresh shell for brew installer?

escape things better

This commit message was very nearly just emoji or a rant about sh-compatible shells.

what is going on?

Nested quotes?
2025-09-05 00:55:52 +01:00
Sarah Sunday
68d0dff890 [CI] Check for cmake for arm, move s3cmd out of arch specific flow 2025-09-02 19:54:38 -05:00
Sarah Sunday
180287dd80 [CI] Do not use ccache executable path, just ref directly 2025-09-02 19:54:38 -05:00
Sarah Sunday
5dfb4994b0 [CI] Rename/fix mac ccache file 2025-09-02 19:54:38 -05:00
elsid
f9907058e2
Use clang-tidy 19 2025-08-30 15:23:23 +02:00
uramer
676047a9e3 Switch to openmwluadocumentor with Teal interfaces 2025-08-17 18:08:19 +02:00
unknown
7569273b33 Expose cov-int.tar.gz as an artifact and upload its URL 2025-08-03 17:06:47 +02:00
Evil Eye
550b0c985f Include file 2025-08-02 10:56:50 +02:00
Evil Eye
05f0b4cdbd Use the default clang version in Coverity 2025-08-02 10:50:43 +02:00
Evil Eye
bdb3387bff Install gcovr via pipx and disable Werror when building Benchmarks 2025-07-27 10:47:34 +02:00
Evil Eye
2bce45260c Drop support for Qt5 2025-07-27 10:47:34 +02:00
Evil Eye
e692025579 Use the new Windows deps on GitHub 2025-07-26 16:36:50 +02:00
AnyOldName3
52b785f726 Use updated Windows dependencies
The main changes are changing an OSG option that was disabling most of our warnings, and MSVC2019 switching to a custom vcpkg triplet.
2025-07-23 23:18:03 +01:00
psi29a
ab8e17196f Merge branch 'mac-brew-tweaks' into 'master'
[CI] Mac - Brew cleanup/simplify

See merge request OpenMW/openmw!4759
2025-07-16 08:44:31 +00:00
AnyOldName3
1331318002 Add another v 2025-07-07 16:28:52 +01:00
Sarah Sunday
6a9b2d3302 [CI] Brew cleanup/simplify 2025-07-06 17:28:23 -05:00
AnyOldName3
89d6f59388 Use verbose status for ccache so we can see what caused hit failures 2025-07-06 15:58:12 +01:00
psi29a
2ffc44c31f Merge branch 'filenameexceptions' into 'master'
Remove file name naming convention check exceptions (#7249)

Closes #7249

See merge request OpenMW/openmw!4551
2025-07-01 20:45:33 +00:00
Sarah Sunday
493827285b [CI] Fix path and big env goof 2025-06-22 13:35:23 -05:00
Sarah Sunday
50e3c9d500 [CI] Ccache flow tweak, use forked commands, cd build 2025-06-22 10:35:16 -05:00
Sarah Sunday
adc4698c44 [CI] Revert ccache script forking, rename try, cleanup 2025-06-21 21:19:07 -05:00
Sarah Sunday
faa9af4428 [CI] Overhaul mac CI flow 2025-06-21 19:54:42 -05:00
Sarah Sunday
12f3596220 [CI] Specify intel brew location 2025-06-21 14:19:43 -05:00
Sarah Sunday
139bde6420 [CI] Fork before install mac arm/intel steps, prefix with arch command 2025-06-21 13:53:40 -05:00
Sarah Sunday
0f551c8233 [CI] Always use arm deps 2025-06-21 13:41:51 -05:00
Sarah Sunday
608831265c [CI] Attempt to add intel mac builds with separate build step 2025-06-21 13:41:51 -05:00
Alexei Kotov
4a6d2465b4 Remove Qt PATH adjustment (Qt6 is symlinked) 2025-06-17 19:11:39 +03:00
Sarah Sunday
6d89ae1a75 [CI] Mac - use qt@6 2025-06-14 16:09:07 -05:00
elsid
a5826b75e0
Disable -Werror for ASAN builds
To avoid warnings like:

In file included from /usr/include/c++/13/regex:50,
                 from ../../components/lua/yamlloader.cpp:6:
In constructor 'std::function<_Res(_ArgTypes ...)>::function(std::function<_Res(_ArgTypes ...)>&&) [with _Res = bool; _ArgTypes = {char}]',
    inlined from 'std::__detail::_State<_Char_type>::_State(std::__detail::_State<_Char_type>&&) [with _Char_type = char]' at /usr/include/c++/13/bits/regex_automaton.h:149:4,
    inlined from 'std::__detail::_StateIdT std::__detail::_NFA<_TraitsT>::_M_insert_subexpr_begin() [with _TraitsT = std::__cxx11::regex_traits<char>]' at /usr/include/c++/13/bits/regex_automaton.h:281:24:
/usr/include/c++/13/bits/std_function.h:405:42: error: '*(std::function<bool(char)>*)((char*)&__tmp + offsetof(std::__detail::_StateT, std::__detail::_State<char>::<unnamed>.std::__detail::_State_base::<unnamed>)).std::function<bool(char)>::_M_invoker' may be used uninitialized [-Werror=maybe-uninitialized]
  405 |       : _Function_base(), _M_invoker(__x._M_invoker)
      |                                      ~~~~^~~~~~~~~~
In file included from /usr/include/c++/13/regex:65:
/usr/include/c++/13/bits/regex_automaton.h: In member function 'std::__detail::_StateIdT std::__detail::_NFA<_TraitsT>::_M_insert_subexpr_begin() [with _TraitsT = std::__cxx11::regex_traits<char>]':
/usr/include/c++/13/bits/regex_automaton.h:279:17: note: '__tmp' declared here
  279 |         _StateT __tmp(_S_opcode_subexpr_begin);
      |                 ^~~~~

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105562.
2025-04-28 22:07:00 +02:00
elsid
8ee0c9e7be
Retry apt-get update and add-apt-repository 2025-04-22 23:05:27 +02:00
elsid
c34b0f90d7
Avoid clang-tidy checks duplication 2025-04-05 12:55:17 +02:00
elsid
2892e19c43
Run integration tests with verbose output 2025-03-08 13:14:23 +01:00
Alexei Kotov
cf7e276a6a Remove file name exceptions (#7249) 2025-02-23 00:18:07 +03:00
Alexei Kotov
72cbf61b43 Rename apps/openmw/mwsound files and classes to follow naming conventions 2025-02-23 00:18:07 +03:00
Alexei Kotov
fc850cfe69 Rename components/crashcatcher files to follow naming conventions 2025-02-23 00:18:07 +03:00
Alexei Kotov
ac9505b536 Rename components/to_utf8 directory and files to follow naming conventions 2025-02-23 00:18:07 +03:00
Alexei Kotov
89426af94a Rename apps/components_tests files to follow naming conventions 2025-02-22 23:47:12 +03:00
Alexei Kotov
a3e19f9bb7 Rename apps/openmw_tests files to follow naming conventions 2025-02-22 23:47:12 +03:00
Alexei Kotov
dd16c87080 Rename components/platform files to follow naming conventions 2025-02-22 23:47:11 +03:00
Alexei Kotov
b997386cd3 Rename android-main.cpp to follow naming conventions 2025-02-22 23:47:09 +03:00