summaryrefslogtreecommitdiff
path: root/indra/cmake/WebRTC.cmake
blob: f8ce9c810473fafa458e594dfec66d3453497a17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# -*- cmake -*-
include(CMakeCopyIfDifferent)

include(Linking)

include_guard()

set(WEBRTC_ROOT ${CMAKE_BINARY_DIR}/../../webrtc/src)
file(COPY ${WEBRTC_ROOT}/out/Default/obj/webrtc.lib
    DESTINATION ${CMAKE_BINARY_DIR}/packages/lib/release
)
set(WEBRTC_INCLUDE_DIR ${CMAKE_BINARY_DIR}/packages/include/webrtc)
file(MAKE_DIRECTORY ${WEBRTC_INCLUDE_DIR})

file(COPY ${WEBRTC_ROOT}/api
          ${WEBRTC_ROOT}/media/base 
          ${WEBRTC_ROOT}/media/engine
          ${WEBRTC_ROOT}/rtc_base
          ${WEBRTC_ROOT}/pc
          ${WEBRTC_ROOT}/p2p
          ${WEBRTC_ROOT}/call
          ${WEBRTC_ROOT}/media
          ${WEBRTC_ROOT}/system_wrappers
          ${WEBRTC_ROOT}/common_video
          ${WEBRTC_ROOT}/video
          ${WEBRTC_ROOT}/common_audio
          ${WEBRTC_ROOT}/logging
          ${WEBRTC_ROOT}/third_party/abseil-cpp/absl
    DESTINATION ${WEBRTC_INCLUDE_DIR}
    FILES_MATCHING PATTERN "*.h"
)

add_library(ll::webrtc STATIC IMPORTED)

if (LINUX)
  target_link_libraries( ll::webrtc INTERFACE ../webrtc/src/obj/Default/webrtc)
elseif (DARWIN)
  target_link_libraries( ll::webrtc INTERFACE ../webrtc/src/obj/Default/webrtc)
elseif (WINDOWS)
  set_target_properties( ll::webrtc PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/packages/lib/release/webrtc.lib)
  target_link_libraries( ll::webrtc INTERFACE ${CMAKE_BINARY_DIR}/packages/lib/release/webrtc.lib)
endif (LINUX)
target_include_directories( ll::webrtc INTERFACE "${WEBRTC_INCLUDE_DIR}")