PatTheMav
6c590805e8
cmake: Update supported CMake version range to 3.28 and 3.30
2024-09-13 14:42:32 -04:00
tytan652
72428ccd97
Remove CMake legacy code path
...
Except submodules and legacy_check macro since the former depend on it.
2024-08-28 13:53:25 -04:00
PatTheMav
2f1379aa64
cmake: Default to modern CMake build system for Windows
2024-08-22 15:39:00 -04:00
PatTheMav
d81fcd70e0
cmake: Update cross-platform build project management for Windows
...
Enables creation of x64 and x86 child projects when building on ARM64
and decouples functionality from legacy_check function
2024-08-20 16:00:21 -04:00
PatTheMav
b8cfacaec3
Update formatting of CMake files
2024-08-14 12:07:47 -04:00
Ryan Foster
cf5f6b6796
cmake: Deprecate legacy CMake for all platforms
...
We now support the new, modern CMake path on all platforms. Encourage
everyone to migrate by deprecating the legacy CMake path. The legacy
CMake path will be removed in a future update.
2024-04-17 15:24:57 -04:00
PatTheMav
e77b12820f
cmake: Add Linux component to CMake build framework 3.0
2024-04-13 23:48:38 -04:00
Ryan Foster
e82a0aede0
cmake: Update CMake minimum to 3.22
...
Since Ubuntu 22.04 is now our minimum supported Ubuntu version, and it
has CMake 3.22, let's make CMake 3.22 the minimum CMake version.
2023-08-05 16:45:46 -07:00
deadmeu
17f2b9aadb
cmake: Fix missing space between sentences
...
This whitespace character between two sentences in a cmake error message
was accidentally removed in 349372b3b3
2023-07-15 16:44:30 -07:00
PatTheMav
5f7a8d8e70
test-input: Update CMakeLists for updated CMake path
...
Also adds the subdirectory to the project with the updated CMake path,
as it was missed originally.
2023-07-06 18:26:28 +02:00
PatTheMav
db895092ed
cmake: Add changes for CMake build framework 3.0
...
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-06-29 10:11:32 -04:00
PatTheMav
e2e3c9e102
cmake: Fix CMake policy scopes and add include guards
...
Include guards ensure that bootstrap includes happen only once for the
entire project. Moving all policy changes into an included file without
its own policy scope ensures that the policy is applied to the project.
2023-06-17 12:23:33 -04:00
PatTheMav
349372b3b3
cmake: Add changes for CMake build framework 3.0
...
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
derrod
9d71d2f7fd
cmake: Remove ENABLE_SPARKLE_UPDATER option
...
Since public key and appcast are now options we simply rely on those to
decide whether or not to enable Sparkle.
2023-02-19 01:35:56 +01:00
jpark37
1aae05bd70
cmake: Enable ENABLE_HEVC by default
2022-07-23 17:26:24 -07:00
tytan652
9a33e49087
cmake: Fix enabling PulseAudio monitoring
...
Also adds a warning if null monitoring is "enabled".
2022-05-28 18:36:36 -04:00
jpark37
53f4bf3430
cmake: Define ENABLE_HEVC globally if set
2022-04-28 08:59:53 -07:00
Jim
3883c9e120
cmake: Add option to build hardware HEVC encoders
...
Allows the ability to enable HEVC encoders whenever we add them.
Disabled by default for now for obvious reasons.
2022-04-22 17:39:43 -07:00
PatTheMav
c993b6059a
CI: Update build scripts and Github actions workflow
...
Also updates main CMakeLists.txt and CMakeLists.txt for unit tests,
also adds additional build directories to .gitignore file
2022-03-16 23:13:26 +01:00
jp9000
1655ebf18f
libobs, UI: Add support for beta builds
...
Allows the ability to specify beta builds in addition to release
candidate builds
2021-12-27 10:01:07 -08:00
Norihiro Kamae
93ee7c4775
libobs/util: Add type test in darray macros for GCC
...
Previously darray macros did not test the types of arguments so that
developers cannot notice even if a wrong type of a variable is passed.
This commit add a type test that relys on GCC's extension. Since OBS
Studio is built with GCC for Ubuntu, testing only under GCC is
sufficient to catch future bugs.
2021-10-01 13:00:00 +09:00
jpark37
f9dbde51a7
cmake: Require Windows 10 SDK 20348
2021-09-11 13:00:28 -07:00
Richard Stanway
a82bb12848
cmake: Enable full optimizations for RelWithDebInfo MSVC builds
...
Adds compiler flag:
/Ob2 (automatic inline expansion)
And linker flags:
/OPT:ICF (identical COMDAT folding)
Ref: https://gitlab.kitware.com/cmake/cmake/-/issues/20812
2021-07-04 05:26:38 -07:00
Ryan Foster
a7b20fcd2a
cmake: Remove outdated osxbundle files
...
These files have been superseded by files in CI/scripts/macos. They are
no longer used, and keeping them around creates confusion and makes
people think they are still used. Let's remove them to prevent further
confusion.
This commit also removes the CMake function `obs_finish_bundle` that was
only used with the osxbundle resources and removes calls to that
function.
2021-05-08 18:57:14 -07:00
Ryan Foster
dfe2f40902
cmake: Require Qt if UI is enabled
...
In CMakeLists.txt, FIND_MODE is not defined here. This was moved from
UI/CMakeLists.txt in commit cb4d2ff7fa
. In
UI/CMakeLists.txt, FIND_MODE is REQUIRED if DISABLE_UI is false or
undefined and ENABLE_UI is true. Since the same booleans are required
for the if-else branch in CMakeLists.txt where we try to find Qt, we can
set find_package to REQUIRED here as well.
2021-03-10 20:05:24 -08:00
Georges Basile Stavracas Neto
2b3cb54771
libobs: Add a Wayland platform
...
Introduce the OBS_NIX_PLATFORM_WAYLAND enum value, and try to detect
it when OBS Studio runs by looking into the platform name.
2021-02-09 09:39:04 -03:00
Michael R. Crusoe
1e96573328
libobs: Update to SIMDe 0.7.1
...
c3d7abfaba
Simplify usage of the SIMDe header
This obviates the need for sse2neon as well and fixes compilation of all
plugins that referenced sse-intrin.h on all architectures, not just
arm*.
2021-01-02 04:07:55 -08:00
pkubaj
1eda236aff
cmake: Add ARCH_SIMD_DEFINES variable
...
It's necessary on ppc64 for plugins that use cmake.
2020-12-31 06:31:25 -08:00
Colin Edwards
7b0d7c6357
Remove BUILD_CAPTIONS build flag
2020-11-02 22:46:55 -06:00
jp9000
18486853a5
obs-ffmpeg: Add ability to debug ffmpeg-mux subprocess
...
Adds a cmake variable (DEBUG_FFMPEG_MUX) which enables FFmpeg debug
output in the ffmpeg-mux subprocess, and if on Windows, shows the
console window of the ffmpeg-mux subprocess so the current output can be
seen.
2020-10-14 18:42:22 -07:00
makise-homura
006443b8c3
cmake: Discard excess warnings for e2k
2020-08-18 16:50:46 +03:00
makise-homura
ad1978a31f
cmake: Enable SIMD for Elbrus architecture
2020-08-18 15:57:05 +03:00
makise-homura
d7e36f9f5b
cmake: Conditionalize -fopenmp-simd
2020-08-18 15:50:50 +03:00
Colin Edwards
35088e0d9e
libobs: Add sample unit tests leveraging cmocka
2020-06-25 15:21:58 -07:00
Jim
0d7b4e1ced
Merge pull request #3006 from mr-c/simde_20200529
...
libos: Freshen SIMDe code copy
2020-06-21 05:34:38 -07:00
Joel Bethke
e10d3be804
cmake: Update minimum Windows SDK version
2020-06-03 17:06:31 -05:00
Michael R. Crusoe
3778086f04
cmake: SIMDe & GCC? then enable OpenMP 4 SIMD
...
There is no run time library required with -fopenmp-simd
2020-05-29 12:37:21 +02:00
jp9000
7993179466
cmake: Add cmake folders
2020-05-13 06:52:37 -07:00
Colin Edwards
55e2985026
Merge pull request #1944 from WizardCM/windows-rc-definition
...
CMake: Build Windows modules with file descriptors
2020-04-18 18:27:22 -05:00
jpark37
f3e6bfdc59
CMake: Disable incremental linking on Windows
...
Not compatible with /OPT:REF, and caused warnings.
2020-03-03 23:13:03 -08:00
jpark37
9abdf2eec7
CMake: Enable /OPT:REF for Windows
2020-03-03 20:18:43 -08:00
jp9000
cc5918fdb4
CMake: Add check for Win SDK 10.0.18362.0 or above
...
The graphics capture changes require Windows SDK version 10.0.18362.0 or
above to function, so check for that in CMake.
2020-02-22 21:02:33 -08:00
jp9000
039c08144a
CMake: Rquire CMake 3.16
...
The recent graphics capture changes require CMake 3.16 or above to
function on Windows, so add a requirement check for 3.16 if on Windows.
2020-02-22 21:02:33 -08:00
jpark37
d6d27cfab1
libobs-winrt: Add module for WinRT functionality
...
Currently wraps Windows Graphics Capture API.
2020-02-22 21:02:33 -08:00
Jiaxun Yang
6366f6ab59
libobs: Build SIMDE on platforms without SSE2
...
SIMDE was introduced for aarch64 support, however, the library itself
supports non-SIMD fallback, which allows us provide support to other
platforms without code changes.
There is another world beyond x86. So we can simply enable SIMDE for
processors without SSE2 support.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
2020-01-22 15:41:15 +08:00
pkubaj
03ab727495
CMake: Fix build on ppc64
...
ppc64le was fixed before, but ppc64 (big-endian) was still failing.
2020-01-04 02:19:38 -08:00
jpark37
45d95282df
cmake: Use C++17 for compilation
...
WinRT language projection requires C++17 to compile, which will be used
to incorporate Windows 10 features like ScreenCapture.
2019-10-15 21:08:45 -07:00
Matt Gajownik
51be039cf8
CMake: Build Windows modules with file descriptors
2019-10-15 21:34:12 +11:00
Florian Zwoch
9799a99238
cmake: no -Werror-implicit-function-declaration for C++
...
This flag was ignored for C++. Starting with GCC-9 this
flag is complained about.
2019-09-14 10:23:34 +02:00
SCG82
596dd54c0b
cmake: Fix typo
2019-07-21 19:49:41 -07:00