Commit Graph

289 Commits (c9e3db40a1c30b6a021f36e4c587163e35af9cd4)

Author SHA1 Message Date
elsid 23fe60a067
Run unit tests in a separate build 4 years ago
psi29a 1ddfb18cb3 Update CI/before_script.msvc.sh 4 years ago
Bret Curtis c291bb169e fixed indentation and additional diffs 4 years ago
Bret Curtis 18899394c4 typo in path 4 years ago
Bret Curtis bf7e1bd32b make switch to using GL hosted windows deps 4 years ago
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.
4 years ago
AnyOldName3 f4db29a717 Kill BUILD_CONFIG
It was basically just CONFIGURATION but less confusing. CONFIGURATION
could just be less confusing.
4 years ago
AnyOldName3 70384d8a83 Restore previous bash settings on exit 4 years ago
AnyOldName3 b71f13965a Don't set pipefail 4 years ago
descawed 58e0b34adc Verify certificates when downloading dependencies 4 years ago
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
5 years ago
AnyOldName3 38f1eae575 Merge remote-tracking branch 'upstream/master' into yet-another-windows-shared-runner-attempt 5 years ago
Bret Curtis 4a17bf27a3 Set BULLET_ROOT via add_cmake_opts like we do the rest 5 years ago
Bret Curtis 14d5b3eeaf try release again and turning on bit by bit for ccache to be used 5 years ago
Bret Curtis db75398fba only build openmw for now 5 years ago
Bret Curtis 3ea576efdc do not build a few things; temporary disable checking package; get things compiling and cached first 5 years ago
Bret Curtis 1e23d007dd Use Debug instead of Release to increase build time (passing -O0) 5 years ago
Bret Curtis a62e3a7b35 What happens when I remove the sysroot line? 5 years ago
Bret Curtis 3eeee4bc94 drop need to upgrade qt, 5.15 is by default installed; add CXX_FLAGS; retarget SYSROOT to 10.15 5 years ago
AnyOldName3 0d7b9c51fd Log misparsed stuff as it caused an unexpected CI failure 5 years ago
Evil Eye fcc761c13c Update Windows CI script to download a version of Google Test that can actually compile the tests 5 years ago
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.
5 years ago
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.
5 years ago
Bret Curtis ae49549f03
change build type to debug for ci/cd
it should set -O0 which should prioritise fast compilation for gcc
5 years ago
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). 5 years ago
Bret Curtis 61a5c6125d #5480: Drop Qt4 support and require Qt 5.12 or later. 5 years ago
AnyOldName3 36d0a55600 Add error message when vswhere doesn't find MSVC 5 years ago
AnyOldName3 a93ea93d9d Remove MSVC 2015 specific parts of CI script.
Also add error when MSVC 2015 is requested.
5 years ago
AnyOldName3 7ef3a9d8ac Remove schoolboy error 5 years ago
psi29a 9067894335 Merge branch 'set-e-kills-ret' into 'master'
Fix Windows prebuild script error messages

Closes #5459

See merge request OpenMW/openmw!223
5 years ago
AnyOldName3 079be5d485 Remove annoying warning 5 years ago
AnyOldName3 761558f612 Remove test data
A dummy command was used to check the script would fail if a command was missing.
Not being a real command, it always made the script fail as a command was missing.
5 years ago
AnyOldName3 5bffa7453f Merge branch 'fix-msvc-buildtools' into 'master'
Fix the build script not detecting Visual Studio Build Tools installation

See merge request OpenMW/openmw!224
5 years ago
apommel 4b831f99da Allow vswhere to detect build tools installations 5 years ago
Alexei Dobrohotov 09537ed312 Merge branch 'master' into 'AnyOldName3-master-patch-15901'
# Conflicts:
#   CI/before_script.msvc.sh
5 years ago
AnyOldName3 a6493ce329 Don't exit prebuild script on nonzero exit code when we already check it
We have `set -e` enabled, so normally exit the script if a command fails.
We also had explicit exit code checks in a few places with user-friendly
error messages. These were never printed as the script exited before we
could check the exit code due to a bad exit code.
5 years ago
AnyOldName3 0d2129ca13 Add success message to Windows prebuild script 5 years ago
AnyOldName3 13c4e4b2a9 Fix ifs for ACTIVATE_MSVC 5 years ago
AnyOldName3 be22e80d33 Merge branch 'always-say-what-to-do' into 'master'
Print MSVC activation info in verbose mode, too.

See merge request OpenMW/openmw!212
5 years ago
AnyOldName3 6e267e398e Fix copy-paste snafu 5 years ago
AnyOldName3 86c1d0f4be Warn about fake stub Python 5 years ago
AnyOldName3 08e5d93c9b Print MSVC activation info in verbose mode, too. 5 years ago
elsid 2e09e96f5d
Fix msvc dir for Qt
Otherwise it fails with:
Qt 5.15.0... Exists. CI/before_script.msvc.sh: line 781: cd: MSVC2019_64_Ninja/deps/Qt/5.15.0/msvc2015_64: No such file or directory
5 years ago
Bret Curtis 9fd8470741
Merge branch 'master' into cherry-pick-e0b35232 5 years ago
Alexander "Ananace" Olofsson 7b781d8890
Windows CI dependency upgrade (#2847)
* Windows CI: Use OSG 3.4-experimental for 0.46

* Update compiled Windows CI dependencies

Only built and pushed so far, still need to try making full OpenMW
builds with them as well.

* Update missed Bullet version number

* MyGUI uses RelWithDebInfo for Release builds now

* Update Windows CI dependencies, switch Qt install

* Fix aqt retrieval and setup

* Make aqt install output slightly nicer

* Bump to Qt 5.15 for VS2019 support

* Fix FFmpeg and Qt install parts

* Fix OSG plugin DLL copying

* Add CMake flag for double-precision bullet

* Roll back 2019 to Boost 1.71 for CI

* Move aqt into unpack step, to allow manual install
5 years ago
psi29a 38daa83ff6 Merge branch 'ninja' into 'master'
Enable Windows Ninja builds

See merge request OpenMW/openmw!202

(cherry picked from commit e0b352323226ff11e230f6489e826df332fa681a)

c1e673ce Unify path conversion functions
fdf0fdbb Fix NMake with MSVC 2019
bdd4a814 Activate MSVC during CMake setup for NMake
eae41050 Support sourcing
c0d28a0e Warn that MSVC environment will need to be activated
bd16ad62 Ninja
7d57e6e2 Support MSVC 2015
3679d329 Check MSVC activated correctly
ed4b73b8 Fix post-2015 Visual Studio
4ffa116a Print message when it's necessary instead of when it isn't
c6e09461 Add instructions for using VS' non-.sln support
d9bb6e63 Activate MSVC later
9ca26358 Create batch script to activate correct MSVC
61df647d Provide scripts to activate selected MSVC in existing shell without kerfuffle
5 years ago
elsid 66da72048a
Update bullet for windows up to 2.87 5 years ago
elsid 4e0c07de0f
Build install target in CI 5 years ago
elsid 99cd99bc3b
Remove unused BUILD_MYGUI_PLUGIN option 5 years ago
elsid ca649003ed
Use googletest 1.10.0
To get support for INSTANTIATE_TEST_SUITE_P macro
5 years ago