mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 21:13:04 +02:00
eb3d9963a0
Compiler extensions are disabled before the first `project` call to force CMake into considering compilers to not support GNU extensions (even though clang and gcc do). Also sets common clang compiler options so they can be used across all supported platforms. `openmp-simd` support is enabled by default as there is no performance penalty on x86_64 systems and intrinsics are enabled on arm64. Also implements CMake's `CMAKE_COMPILE_WARNING_AS_ERROR` flag to enable the desired behavior and configuration time.
23 lines
959 B
CMake
23 lines
959 B
CMake
# OBS CMake operating system bootstrap module
|
|
|
|
include_guard(GLOBAL)
|
|
|
|
# Set minimum CMake version specific to host operating system, add OS-specific module directory to default search paths,
|
|
# and set helper variables for OS detection in other CMake list files.
|
|
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
|
|
set(CMAKE_C_EXTENSIONS FALSE)
|
|
set(CMAKE_CXX_EXTENSIONS FALSE)
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows")
|
|
set(OS_WINDOWS TRUE)
|
|
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
|
|
set(CMAKE_C_EXTENSIONS FALSE)
|
|
set(CMAKE_CXX_EXTENSIONS FALSE)
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/macos")
|
|
set(OS_MACOS TRUE)
|
|
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD")
|
|
set(CMAKE_CXX_EXTENSIONS FALSE)
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux")
|
|
string(TOUPPER "${CMAKE_HOST_SYSTEM_NAME}" _SYSTEM_NAME_U)
|
|
set(OS_${_SYSTEM_NAME_U} TRUE)
|
|
endif()
|