Commit graph

64 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
35baf7e3c5 ci: Correctly remove builds from the matrix
Re-enables GCC, which is still very much in use.
2023-04-05 18:58:25 +02:00
Michael Fabian 'Xaymar' Dirks
f34a4e7c95 ci: Update and merge scripts into one file
- Updates all workflow actions to the latest major version where possible.
- Updated GCC to version 10 on Ubuntu.
- Update Clang to version 14 on Ubuntu.
- Removed CodeQL as it turned out to be completely useless.
- Updated validation script.
- Updated build script
2023-04-05 18:58:25 +02:00
Michael Fabian 'Xaymar' Dirks
f160580794 cmake: Improve build system with additional features and options
- Moved all auto-dependencies to a uniform subdirectory for easier caching and cleanup.
- Add an option to download or specify a path for libOBS+obs-frontend-api.
- Remove the dependency on the non-standard obs-frontend-apiConfig.cmake file.
- Add an option to download or specify a path for OBS Dependencies.
- Add an option to download or specify a path for Qt.
- Add an option to download or specify a path for AOM.
- Fix and improve architecture and platform detection.
- Fix some messages having two :, or no prefix at all.
- Fix detection of obs-frontend-api.
- Fix applying custom compiler and linker flags for MSVC and GNU-style builds.
- Use target_compile_options over add_compile_options for compatibility.
2023-04-05 18:58:20 +02:00
Michael Fabian 'Xaymar' Dirks
881c7d920a ci: Ignore specific Packages versions 2023-04-05 18:58:17 +02:00
Michael Fabian 'Xaymar' Dirks
d83cdf48b9 ci: Properly install Qt@5 on MacOS 2023-04-05 18:51:55 +02:00
Michael Fabian 'Xaymar' Dirks
5f4b46f8f5 ci: Don't pin to a specific Qt5 version on MacOS with brew
This is more of a hotfix than an actual fix. Not sure if this has any effect on how StreamFX behaves on MacOS
2023-04-05 18:51:44 +02:00
Michael Fabian 'Xaymar' Dirks
0d15216761 ci: Don't perform tasks relying on secrets in pull requests 2023-04-05 18:51:44 +02:00
Michael Fabian 'Xaymar' Dirks
c5e69e4076 ci: Adjust to new Code Signing parameters 2023-04-05 18:51:41 +02:00
Michael Fabian 'Xaymar' Dirks
0e26018cd3 ci: Sign builds with the provided key automatically 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks
744d627bc5 ci: Update to LLVM/Clang 13.x 2023-04-05 18:51:28 +02:00
Michael Fabian 'Xaymar' Dirks
e2fab9c28b third-party: Update libAOM to v3.2.0-0-287164d 2023-04-05 18:51:24 +02:00
Michael Fabian 'Xaymar' Dirks
c2955d8480 third-party: Update libAOM to v3.1.2-882-03b6f69 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks
7e39f613e0 ci: Properly check if cache was restored 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks
f0ccb6dd43 ci: Pull Requests shouldn't invoke CI twice 2023-04-05 18:51:20 +02:00
Michael Fabian 'Xaymar' Dirks
1d5d601256 ci: (AOM) Replace files if they exist
This shouldn't happen, but it seems our 'if' case is not working right. Will have to investigate this in the future.
2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks
9a4ab558c0 encoders/aom-av1: AV1 encoder based on libaom 2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks
e17f33d6ec ci: Upgrade InnoSetup to 6.1.2 2023-04-05 18:50:55 +02:00
Michael Fabian 'Xaymar' Dirks
8ab8d66977 cmake: Update for OBS Studio 27.0.0
* OBS Studio 27.0.0 supports ARM64 on MacOS directly.
* Windows now uses "Detours" for hooking into Windows API functions.
2023-04-05 18:50:55 +02:00
Michael Fabian 'Xaymar' Dirks
1e0bccd8ed ci: Update libOBS version to 27.0.0-rc2 2023-04-05 18:50:53 +02:00
Michael Fabian 'Xaymar' Dirks
ab9a6ec56d ci: (Windows) Show full compile output for InnoSetup 2023-03-28 13:11:20 +02:00
Michael Fabian 'Xaymar' Dirks
4405c13901 ci: (MacOS) Build .pkg installer 2023-03-28 13:11:16 +02:00
Michael Fabian 'Xaymar' Dirks
d24fb07dcc cmake: Update download logic 2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks
ca6fb45c9d ci: Add caching for many steps 2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks
ee6afdcded ci: (MacOS) Automatically detect Homebrew prefix 2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks
eef6d2d445 ci: (MacOS) Fix installation of Qt5
Homebrew now defaults to Qt6, but we still require Qt5 for the time being.
2023-03-28 13:11:15 +02:00
Michael Fabian 'Xaymar' Dirks
766cb605db ci: Fix formatting for main.yml 2023-03-28 13:11:14 +02:00
Michael Fabian 'Xaymar' Dirks
495b8cda66 ci: Add builds for MacOS x86-64
Due to OBS Studio not yet supporting ARM64 out of the box, we currently only provide builds for x86. Additionally, due to our use of C++17 (which we will not drop to C++14, don't bother asking), the minimum OSX version is 10.15.
2023-03-28 13:11:14 +02:00
Michael Fabian 'Xaymar' Dirks
662a858ab6 ci: Update scripts for refactor and adjust OBS to v26.1.x 2023-03-28 13:11:10 +02:00
Michael Fabian 'Xaymar' Dirks
188e58bbda ci: Remove automatic build support for Ubuntu 18.04
The majority of users should have already switched or upgraded to Ubuntu 20.04 at this point, so there is no point in building further Ubuntu 18.04 versions. This saves us some CI slots, and also reduces the number of target systems to actually support.
2023-03-28 13:11:10 +02:00
Michael Fabian 'Xaymar' Dirks
7be1929985 ci: Fail fast on error 2023-03-28 13:11:03 +02:00
Michael Fabian 'Xaymar' Dirks
98a146c108 ci: Use newly added override options 2023-03-28 13:11:03 +02:00
Michael Fabian 'Xaymar' Dirks
e8d5edc9eb ci: Fix support for new CMake script 2023-03-28 13:11:00 +02:00
Michael Fabian 'Xaymar' Dirks
2353c0bb8b ci: Also run on tags 2023-03-28 12:52:28 +02:00
Michael Fabian 'Xaymar' Dirks
f907fc80b0 updater: Add functionality to check for updates
Implements a manual and automatic update checker with support for both release and testing update channels, allowing users to stay as up to date as possible. It is fully compliant with privacy regulations around the world, as it stays completely silent and inactive until the user gives the Ok to connect to GitHub for the latest releases.
2023-03-28 12:52:27 +02:00
Michael Fabian 'Xaymar' Dirks
4947ae9a13 cmake: Enable FFmpeg Encoders on Linux 2023-03-28 12:52:22 +02:00
Michael Fabian 'Xaymar' Dirks
5385ad415f ci: Add validation for formatting using clang-format 2023-03-28 12:52:21 +02:00
Michael Fabian 'Xaymar' Dirks
a510081d9c ci: Upgrade Ubuntu to 20.04 and don't use remote LLVM
Ubuntu 20.04 has officially replaced 19.10 as the latest version, and is stable enough that people can move to it. The script doesn't change much for that. However we do remove the needless extra builds here and revert to the system installed clang version, which thanks to other pull requests now works fine. For Ubuntu 18.04 that is clang-8, while for Ubuntu 20.04 it is clang-9.
2023-03-28 12:52:20 +02:00
Michael Fabian 'Xaymar' Dirks
731dbd26a7 cmake, ci: Add caching support to speed up builds 2023-03-28 12:52:17 +02:00
Michael Fabian 'Xaymar' Dirks
4cfa0ed4d4 ci: Ensure that tags are also built 2023-03-28 12:40:40 +02:00
Michael Fabian 'Xaymar' Dirks
23db0de84c ci: Fix names for 19.10 packages 2023-03-28 12:40:40 +02:00
Michael Fabian 'Xaymar' Dirks
16463ac41b ci: Also trigger on tag creation 2023-03-28 12:40:39 +02:00
Michael Fabian 'Xaymar' Dirks
d0569a2b4d ci: Add clang-10 to Ubuntu builds
Disables caching as it didn't work and fixes the weird new jpeg issue.
2023-03-28 12:40:38 +02:00
Michael Fabian 'Xaymar' Dirks
3aa467f93a ci: Add caching of dependencies 2023-03-28 12:40:38 +02:00
Michael Fabian 'Xaymar' Dirks
3a3cfd4776 ci: Ignore l10n_master from Crowdin
Crowding commits each language in its own commit, instead of merging multiple into one commit. This results in very spammy builds, to the point of several hundred being spawned in the same second.
2023-03-28 12:40:38 +02:00
Michael Fabian 'Xaymar' Dirks
1e10bd3839 ci: Automatically try to build with clang-9 on 19.10 2023-03-28 12:40:38 +02:00
Michael Fabian 'Xaymar' Dirks
0feaeb1afc project: Remove the usage of Visual Studio 2017
Visual Studio 2017 is now 3 years out of date, and newer options are available - and also produce better and faster binaries.
2020-04-23 00:43:16 +02:00
Michael Fabian 'Xaymar' Dirks
57dcdcd393 cmake: Add support for OBS Frontend API and Qt UI 2020-04-05 10:58:48 +02:00
Michael Fabian 'Xaymar' Dirks
89361db682 ci: Match build matrix with OBS Studio build matrix 2020-04-03 01:49:06 +02:00
Michael Fabian 'Xaymar' Dirks
92d038277d ci: Build for multiple GCC versions
This fixes the crash when OBS Studio was built with a different GCC version, although the exact cause of the crash is not yet known.

Fixes: #125 #124
2020-04-03 01:16:33 +02:00
Michael Fabian 'Xaymar' Dirks
8b7e1a2826 ci: Switch to matrix builds and add Ubuntu 2020-04-02 20:37:45 +02:00