mirror of
https://github.com/UltraCoderRU/libwebrtc.git
synced 2026-01-27 19:05:12 +00:00
46 lines
1.5 KiB
CMake
46 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
set(CMAKE_CONFIGURATION_TYPES Debug Release CACHE STRING INTERNAL FORCE)
|
|
|
|
project(libwebrtc)
|
|
|
|
set(USE_CLANG ON CACHE BOOL "Build using internal Clang compiler (set to OFF to build using system GCC/MSVC)")
|
|
set(GN_EXTRA_ARGS "" CACHE STRING "Extra 'gn gen' arguments to pass when configuring WebRTC")
|
|
set(NINJA_ARGS "" CACHE STRING "Ninja arguments to pass when compiling WebRTC")
|
|
option(BUILD_DEB_PACKAGE "Build .deb package" OFF)
|
|
|
|
# Allow the use of IN_LIST operand
|
|
cmake_policy(SET CMP0057 NEW)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
|
|
|
|
include(FindLibraries)
|
|
include(TargetOsAndCpu)
|
|
|
|
include(Utils)
|
|
prependPath("${CMAKE_SOURCE_DIR}/depot_tools")
|
|
if (WIN32)
|
|
set(ENV{DEPOT_TOOLS_WIN_TOOLCHAIN} 0)
|
|
endif()
|
|
|
|
set(WEBRTC_SOURCE_DIR "${CMAKE_SOURCE_DIR}/webrtc/src")
|
|
set(WEBRTC_BUILD_DIR "${CMAKE_BINARY_DIR}/webrtc")
|
|
|
|
include(Version)
|
|
get_webrtc_version_from_git(WEBRTC_VERSION)
|
|
message(STATUS "WebRTC version: ${WEBRTC_VERSION}")
|
|
|
|
if (MSVC)
|
|
# Always build with dynamic runtime on MSVC
|
|
patch_file(${WEBRTC_SOURCE_DIR}/build/config/win/BUILD.gn ":static_crt" ":dynamic_crt")
|
|
endif ()
|
|
|
|
# Copy all files from 'patches' directory to 'webrtc/src'
|
|
# For example, 'patches/api/foo.h' will be copied to 'webrtc/src/api/foo.h'
|
|
include(PatchSources)
|
|
patch_sources("${CMAKE_CURRENT_SOURCE_DIR}/patches" "${CMAKE_CURRENT_SOURCE_DIR}/webrtc/src")
|
|
|
|
include(AddWebRTCTarget)
|
|
add_webrtc_target(${WEBRTC_SOURCE_DIR} ${WEBRTC_BUILD_DIR})
|
|
|
|
add_subdirectory(libwebrtc)
|