Repository navigation
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
83 lines (65 loc) · 2.18 KB
/
Copy pathCMakeLists.txt
File metadata and controls
83 lines (65 loc) · 2.18 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
cmake_minimum_required(VERSION 3.8)
project(webrtc NONE)
find_package(Git REQUIRED)
include(ExternalProject)
option(ARCH "Target architecture" "")
option(NOLOG "Disable debug log" ON)
option(CUBBIT "Build cubbit version" ON)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(WEBRTC_BUILD_TYPE debug)
else()
set(WEBRTC_BUILD_TYPE release)
endif()
ExternalProject_Add(webrtc
PREFIX ${CMAKE_BINARY_DIR}/webrtc
SOURCE_DIR ${CMAKE_SOURCE_DIR}/webrtc
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
-DWEBRTC_BUILD_TYPE=${WEBRTC_BUILD_TYPE}
-DBINARY_ROOT=${CMAKE_BINARY_DIR}
-DARCH=${ARCH}
-DNOLOG=${NOLOG}
-DCUBBIT=${CUBBIT}
INSTALL_COMMAND ""
)
ExternalProject_Get_Property(webrtc BINARY_DIR)
set(WEBRTC_SRC_ROOT ${BINARY_DIR}/webrtc/src)
ExternalProject_Add(libwebrtc
PREFIX ${CMAKE_BINARY_DIR}/libwebrtc
SOURCE_DIR ${CMAKE_SOURCE_DIR}/libwebrtc
DEPENDS webrtc
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
-DWEBRTC_BUILD_TYPE=${WEBRTC_BUILD_TYPE}
-DWEBRTC_SRC_ROOT=${WEBRTC_SRC_ROOT}
)
# Pack
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY ON)
if(WIN32)
set(WEBRTC_PACK_PLATFORM win)
elseif(APPLE)
set(WEBRTC_PACK_PLATFORM darwin)
else()
set(WEBRTC_PACK_PLATFORM linux)
endif()
string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} WEBRTC_PACK_ARCHITECTURE)
if(ARCH)
set(WEBRTC_PACK_ARCHITECTURE ${ARCH})
endif()
set(WEBRTC_PACK_NAME webrtc-${WEBRTC_PACK_PLATFORM}-${WEBRTC_PACK_ARCHITECTURE}-${WEBRTC_BUILD_TYPE})
if(CUBBIT)
set(WEBRTC_PACK_NAME ${WEBRTC_PACK_NAME}-cubbit)
endif()
if(WEBRTC_BUILD_TYPE STREQUAL debug AND NOLOG)
set(WEBRTC_PACK_NAME ${WEBRTC_PACK_NAME}-nolog)
endif()
set(WEBRTC_PACK_NAME ${WEBRTC_PACK_NAME}.zip)
set(WEBRTC_PACK ${CMAKE_INSTALL_PREFIX}/${WEBRTC_PACK_NAME})
set(WEBRTC_CONFIG ${CMAKE_INSTALL_PREFIX}/CMakeLists.txt)
add_custom_command(
OUTPUT ${WEBRTC_PACK}
COMMAND ${CMAKE_COMMAND} -E tar cf ${WEBRTC_PACK} --format=zip ${CMAKE_INSTALL_PREFIX}/lib ${CMAKE_INSTALL_PREFIX}/include ${CMAKE_INSTALL_PREFIX}/CMakeLists.txt
WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}
DEPENDS libwebrtc
)
add_custom_target(pack DEPENDS ${WEBRTC_PACK})