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.
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.
In CMakeLists.txt, FIND_MODE is not defined here. This was moved from
UI/CMakeLists.txt in commit cb4d2ff7faa8b52cf219ae85fe6caf1d2fc3f906. 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.
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*.
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.
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>
Fixes the `obs.rc` file appearing in the UI source tree and moves it
into the out-of-tree build directories provided by CMake. Projects
requiring this can use it by adding `${obs-studio_BINARY_DIR}/obs.rc`
to their source list.
This defines the main OBS Windows executable with a resource file,
including a version number accessible externally and a File
description which appears in Windows Task Manager.
The UI currently is dependent on browser source files being present,
when in actuality the files may not have been fetched (i.e. not fetching
submodules). This fixes that by using a macro to detect whether it's
available or not.
Closesobsproject/obs-studio#1490
Allows specifying a release candidate version, and outputs release
candidate version variables to libobs/obs-config.h. Useful for using
cmake to specify a release candidate version.
This policy was introduced in CMake version 3.11.
The FindOpenGL module provides an OpenGL::GL target and an
OPENGL_LIBRARIES variable for projects to use for legacy GL interfaces.
When both a legacy GL library (e.g. libGL.so) and GLVND libraries for
OpenGL and GLX (e.g. libOpenGL.so and libGLX.so) are available, the
module must choose between them. It documents an OpenGL_GL_PREFERENCE
variable that can be used to specify an explicit preference. When no
such preference is set, the module must choose a default preference.
The default behavior is to default to legacy (OLD) and is deprecated.
https://cmake.org/cmake/help/v3.11/policy/CMP0072.htmlhttps://github.com/NVIDIA/libglvnd
Makes it so that the scripting cmake variable ENABLE_SCRIPTING is a user
variable rather than a global internal cmake variable, and defers the
internal global cmake variable to SCRIPTING_ENABLED instead.