Commit graph

1492 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
c750fa9a5c cmake: Use @rpath on MacOS
This removes the additional patch steps after building, and are more stable across architectures.
2023-04-05 18:58:43 +02:00
Michael Fabian 'Xaymar' Dirks
9adc49b164 templates: Move MacOS-only files into dedicated folder 2023-04-05 18:58:43 +02:00
Michael Fabian 'Xaymar' Dirks
4382ad469f templates: Move Windows-only files into dedicated folder 2023-04-05 18:58:42 +02:00
Michael Fabian 'Xaymar' Dirks
7f1ae7f9f1 cmake: Require MacOSX 10.15 or newer 2023-04-05 18:58:42 +02:00
Michael Fabian 'Xaymar' Dirks
f40c7a9906 cmake: Automatically discover data files
Prevents missing data due to it not being in the PROJECT_DATA variable. Bit of a hacky solution, but you gotta do what you gotta do to fix it.
2023-04-05 18:58:42 +02:00
Michael Fabian 'Xaymar' Dirks
a66b46965e cmake: Add media files to IDE projects
These files should be ignored as they have the HEADER_FILE_ONLY flag set.
2023-04-05 18:58:42 +02:00
Xaymar
630600fd96 locale: New Crowdin updates (#907)
* New translations en-US.ini (Portuguese)

* New translations en-US.ini (Portuguese)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Swedish)

* New translations en-US.ini (Turkish)

* New translations en-US.ini (Indonesian)

* New translations en-US.ini (Portuguese)

* New translations en-US.ini (Estonian)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Greek)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (French)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Bulgarian)

* New translations en-US.ini (Czech)

* New translations en-US.ini (Danish)

* New translations en-US.ini (German)

* New translations en-US.ini (Finnish)

* New translations en-US.ini (Hungarian)

* New translations en-US.ini (Japanese)

* New translations en-US.ini (Dutch)
2023-04-05 18:58:41 +02:00
Xaymar
e59660a18f locale: New Crowdin updates (#897)
* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Japanese)
2023-04-05 18:58:41 +02:00
Michael Fabian 'Xaymar' Dirks
78e5c10a74 code: Fix GCC warning diagnostic pragmas 2023-04-05 18:58:41 +02:00
Michael Fabian 'Xaymar' Dirks
6c8578e555 third-party: Update obs-studio to 28.0.0 2023-04-05 18:58:40 +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
15bf5b8e64 cmake: Remove pointless floating math contract option 2023-04-05 18:58:40 +02:00
Michael Fabian 'Xaymar' Dirks
1c7350edf7 code: Fix initialization order for constructors
Prevents some out-of-order events from occurring.
2023-04-05 18:58:40 +02:00
Michael Fabian 'Xaymar' Dirks
08544b4116 cmake, code: Abuse pre-processor to disable/enable warnings 2023-04-05 18:58:39 +02:00
Michael Fabian 'Xaymar' Dirks
8e52bbf88b code: Ignore warnings from external code
May need to find a better solution such as disabling all warnings on third party code.
2023-04-05 18:58:38 +02:00
Michael Fabian 'Xaymar' Dirks
4e41c5cf24 code: Revert #836
The compiler will choose the optimal way automatically, and forcing std::move here actually results in two objects existing side by side, before being "moved" into one.
2023-04-05 18:58:38 +02:00
Michael Fabian 'Xaymar' Dirks
b9d8583d58 code: (sn)printf automatically zero-terminates strings 2023-04-05 18:58:38 +02:00
Michael Fabian 'Xaymar' Dirks
24a19c2ed3 ffmpeg/tools: Revert #836
It is not valid to pass std::string_view to snprintf's %s.
2023-04-05 18:58:38 +02:00
Michael Fabian 'Xaymar' Dirks
0aca1fc132 code: Always provide a default case for enumerations 2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks
badca28a08 updater: Don't pass unused variables into lambda captures 2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks
4fa26dd2d6 code: Always initialize or cast to correct type 2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks
de703867e6 encoder/ffmpeg: Drop support for broken FFmpeg versions
This removes the Matroska fix for ProRes content, and upgrades from av_init_packet to av_packet_alloc.
2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks
0fe5c7e654 code: Don't use try-catch as function definition
This breaks MSVC and results in leaked exceptions.
2023-04-05 18:58:37 +02:00
Michael Fabian 'Xaymar' Dirks
678399ce81 cmake: Ignore not-so-useful warnings
These warnings are mostly hints or complete nonsense based on broken parsing. It is easier to disable them than to find a common solution that works on all compilers.
2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks
bb79b574b5 cmake: Enable all warnings 2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks
398a58ec64 project: Updating contributing guidelines 2023-04-05 18:58:36 +02:00
Xaymar
5d76a3865a locale: New Crowdin updates (#890)
* New translations en-US.ini (Russian)

* New translations en-US.ini (Czech)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Polish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (Danish)

* New translations en-US.ini (French)
2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks
ed88c4a4d2 project: Updating contributing guidelines 2023-04-05 18:58:36 +02:00
Michael Fabian 'Xaymar' Dirks
c1b832c03a cmake: Fix bad version strings
PROJECT_VERSION is defined by CMake, and can't be relied on.
2023-04-05 18:58:35 +02:00
Xaymar
584ee995be locale: New Crowdin updates (#867)
* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Portuguese, Brazilian)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Chinese Simplified)

* New translations en-US.ini (Romanian)

* New translations en-US.ini (Spanish)

* New translations en-US.ini (Russian)

* New translations en-US.ini (Italian)

* New translations en-US.ini (Czech)
2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks
b5195c580c filter/displacement: Add missing deprecation notice 2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks
5ea8aa2acc encoders/handlers/amf: Add missing deprecation notice 2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks
c150a1b0d7 encoders/aom-av1: Deprecate encoder 2023-04-05 18:58:35 +02:00
Michael Fabian 'Xaymar' Dirks
3883c4759c encoders/handlers/amf: Deprecate encoder 2023-04-05 18:58:34 +02:00
Michael Fabian 'Xaymar' Dirks
fb09e98a5f gfx/shader/param-texture: Use obs::weak_source instead of obs::source 2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks
8f8b8839e5 obs/weak-source: Further optimization and modernization 2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks
9fbed3a319 cmake: Workaround for missing INTERFACE_INCLUDE_DIRECTORIES (MacOS)
This work-around adds the necessary include directories, as the 'libobs' target does not export any include directories visible without BUILD_INTERFACE evaluating to TRUE. Hopefully the true cause for this problem can be identified and fixed later.
2023-04-05 18:58:33 +02:00
Michael Fabian 'Xaymar' Dirks
1d066caed3 cmake: Set correct path for Qt6 binaries (MacOS) 2023-04-05 18:58:33 +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
c92be933d9 third-party/obs-studio: 28.0.0-rc1 2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks
808f5c63fb obs/gs/effect: Revert #836
The use of const references breaks '#include' for relative paths.
2023-04-05 18:58:32 +02:00
lainon
6e1566386e project: Apply more C++ paradigms to the code
- Use auto in places where code clarity is improved or identical.
- Replace trivial constructors and destructors with default.
- Use true random for random generation.
- Use std::string_view where it is valid to do so.
- Apply const where it is valid to do so.
- Use references where it is valid to do so.
- Manually optimize memory usage with std::move and std::copy.
- Opt for memory efficient containers where the size is known ahead of time.

Signed-off-by: lainon <GermanAizek@yandex.ru>
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks
cbddee5b90 nvidia: Assign to std::string_view& instead of swapping
For unknown reasons this results in an error only when the project is built within git-bash and with cmake. It does not occur with cmake-gui or VS itself.
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks
16a52ca126 ui/updater: Include QActionGroup for Qt6 support
In some cases, this include is provided automatically when it shouldn't exist at all. The exact cause is unknown.
2023-04-05 18:58:32 +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
730987ba77 cmake: Define SHOWWINDOW constants (Windows) 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
f2e5bdf78a third-party: Add obs-studio submodule 2023-04-05 18:58:31 +02:00