Commit graph

123 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
c18c5e457a project: Improve templates and UX 2023-04-05 18:58:55 +02:00
Michael Fabian 'Xaymar' Dirks
f1c91f1671 ci: Install GLES, EGL and OpenGL development files (Linux) 2023-04-05 18:58:40 +02:00
Michael Fabian 'Xaymar' Dirks
e97f1c2a3f ci: Fix definition of CMAKE_OSX_ARCHITECTURES (MacOS) 2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks
5d177ffaf0 ci: Update cache version 2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks
ceb21cc386 ci: Always specify all important build variables 2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks
f8ecf61a7b ci: Cache and install dependencies and libraries
Note: We define CMAKE_PREFIX_PATH for OBS Studio here, which should normally (https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH) be filled by the project itself. This is technically non-standard behavior, and may be remedied in the future by OBS Studio.
2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks
7937ff4a44 cmake: Remove Auto-Dependency system
While the system helped users get started quickly, it also presented a unique problem by itself. As CMake grew, the code that supported this system became more and more fragile to the point of failing at random, with no indication of why it would fail. Additionally as OBS Studio 28.0 adopted a much nicer system, it is no longer necessary to have this system at all.

As an addition to this change, all systems that could rely on FindModules now do so. This drastically reduces the complexity of the CMake system, while allowing significantly more flexibility with what binaries are really being used. In the best case this should allow a prepared user to build StreamFX by itself within seconds.
2023-04-05 18:58:31 +02:00
Michael Fabian 'Xaymar' Dirks
19de4c5334 ci: Always set up path for clang binaries 2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks
008a3f2a31 ci: Ignore clang-tidy for now 2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks
eb047c8882 ci: Remove pointless platform additions
The runners "windows-2022" and "windows-2019" both come with almost identical software, and we can still target Windows 10 21H2. The same goes for "macos-12", "macos-11" and "macos-10.15", where we can simply target 10.15 and get the same result. Only Ubuntu does not make it easy, as it doesn't easily allow targeting a certain OS version.
2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks
69b5ff8ad5 ci: Merge Debug and Release builds into one
There is no point in completely separating these, as CMake can build out-of-tree just fine. Thus we can reduce the overall complexity significantly, and also detect far more problems ahead of time. As a side bonus, we get both debug and release packages in one go.
2023-04-05 18:58:30 +02:00
Michael Fabian 'Xaymar' Dirks
c4de205d52 ci: Remove Code Signing with self-signed certificate 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks
b4026f2203 ci: Fix clang version 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks
6e510f17f6 ci: Merge validation into main script
This reduces the necessary variations for CI, and makes status checks easier to enforce.
2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks
5f27998c01 ci: Compress & optimize main script 2023-04-05 18:58:29 +02:00
Michael Fabian 'Xaymar' Dirks
64bae2b897 project: Fix incorrect tabs in YAML 2023-04-05 18:58:28 +02:00
Michael Fabian 'Xaymar' Dirks
ee6cd9fb50 project: Improve Issue and PR templates 2023-04-05 18:58:27 +02:00
Michael Fabian 'Xaymar' Dirks
f66891f956 ci: Don't run pointless builds
The support for Clang on Windows is almost non-existent compared to MSVC and GCC cross-compiling.
2023-04-05 18:58:27 +02:00
Michael Fabian 'Xaymar' Dirks
9e6171ab06 ci: Upgrade to LLVM/Clang 14.x 2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks
8241a7eb97 ci: Allow failures for experimental CI tests 2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks
ba436e406a ci: Don't fast-fail as some failures are okay 2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks
36482ac020 ci: Update CMAKE_SYSTEM_VERSION to System Requirements
The updated SDK fixes critical crashes.
2023-04-05 18:58:26 +02:00
Michael Fabian 'Xaymar' Dirks
b3efea50ef ci: Add ClangCL to MSVC/Windows 2023-04-05 18:58:26 +02:00
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
6852a2468b project: Version 0.12.0a1 2023-04-05 18:58:22 +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
53e9811f11 project: Version 0.11.0c1 2023-04-05 18:51:56 +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
497678ba2f ci: Fix typo in 'authors.yml' 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
b72e4ee83e project: Version 0.11.0b3 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks
1c54fee038 ci: Only regenerate authors on dispatch 2023-04-05 18:51:51 +02:00
Michael Fabian 'Xaymar' Dirks
e38f117abe ci: Author Information and Upstream Branch 2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks
d3a99e032d ci: Fix some invalid commands 2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks
e3302fa163 ci, tools: Automatically generate contributor attribution files
Also includes a tool to convert Patreon Membership .csv files into a support patch set.
2023-04-05 18:51:50 +02:00
Michael Fabian 'Xaymar' Dirks
292562b63e project: Version 0.11.0b2 2023-04-05 18:51:48 +02:00
Michael Fabian 'Xaymar' Dirks
7edda268e0 project: Version 0.11.0b1 2023-04-05 18:51:45 +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
b436eaaf28 project: Improve PR template 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks
5d89b0d8b1 project: Version 0.11.0a8 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks
22f0bd1da1 project: Version 0.11.0a7 2023-04-05 18:51:32 +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
1cb84fa6b5 project: Version 0.11.0a6 2023-04-05 18:51:26 +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
d3808f3960 project: Version 0.11.0a5
- Updated the AOM library to libAOM v3.1.2-882-03b6f69.
- Fixed the Denoising filter not working correctly with unexpected sizes.
- Fixed the Denoising filter not rendering at the correct size.
- Fixed the Denoising and Upscaling filter destroying the Alpha channel.
- Fixed the Denoising filter running twice on the same image, resulting in a far worse image.
- Fixed Upscaling not automatically deciding on a proper scale factor for you when the selected one is not supported.
2023-04-05 18:51:23 +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