mirror of
https://github.com/UltraCoderRU/libwebrtc.git
synced 2026-01-28 03:15:11 +00:00
CMake: Fix typos, use 2.8 version
This commit is contained in:
parent
0f7a17fdf0
commit
368b57662e
6 changed files with 91 additions and 62 deletions
|
|
@ -1,8 +1,8 @@
|
|||
cmake_minimum_required(VERSION 3.2)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
project(libwebrtc)
|
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
|
||||
${CMAKE_SOURCE_DIR}/CMakeModules)
|
||||
${CMAKE_SOURCE_DIR}/CMakeModules)
|
||||
|
||||
find_package(Git REQUIRED)
|
||||
find_package(DepotTools REQUIRED)
|
||||
|
|
@ -12,35 +12,42 @@ find_package(DepotTools REQUIRED)
|
|||
#
|
||||
|
||||
option(BUILD_TESTS "Build test binaries" OFF)
|
||||
option(BUILD_SAMPLES "Build samples binaries" ON)
|
||||
option(BUILD_SAMPLES "Build samples binaries" OFF)
|
||||
|
||||
#
|
||||
# Versioning
|
||||
#
|
||||
|
||||
execute_process(
|
||||
COMMAND git log -1 --format=%h
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
COMMAND git log -1 --format=%h
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND git describe
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_COMMIT_TAG
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
set(LIBWEBRTC_MAJOR_VERSION 1)
|
||||
set(LIBWEBRTC_MINOR_VERSION 0)
|
||||
set(LIBWEBRTC_PATCH_VERSION 0)
|
||||
set(LIBWEBRTC_BUILD_VERSION ${GIT_COMMIT_HASH})
|
||||
set(LIBWEBRTC_VERSION
|
||||
${LIBWEBRTC_MAJOR_VERSION}.${LIBWEBRTC_MINOR_VERSION}.${LIBWEBRTC_PATCH_VERSION}-${LIBWEBRTC_BUILD_VERSION}
|
||||
)
|
||||
|
||||
set(LIBWEBRTC_API_VERSION
|
||||
"${LIBWEBRTC_MAJOR_VERSION}.${LIBWEBRTC_MINOR_VERSION}.${LIBWEBRTC_PATCH_VERSION}"
|
||||
)
|
||||
"${LIBWEBRTC_MAJOR_VERSION}.${LIBWEBRTC_MINOR_VERSION}.${LIBWEBRTC_PATCH_VERSION}"
|
||||
)
|
||||
set(LIBWEBRTC_VERSION
|
||||
${LIBWEBRTC_API_VERSION}-${LIBWEBRTC_BUILD_VERSION}
|
||||
)
|
||||
|
||||
set(LIBWEBRTC_LIBRARY_PROPERTIES ${LIBWEBRTC_LIBRARY_PROPERTIES}
|
||||
VERSION "${LIBWEBRTC_VERSION}"
|
||||
SOVERSION "${LIBWEBRTC_API_VERSION}"
|
||||
)
|
||||
VERSION "${LIBWEBRTC_VERSION}"
|
||||
SOVERSION "${LIBWEBRTC_API_VERSION}"
|
||||
)
|
||||
|
||||
#
|
||||
# Directories
|
||||
|
|
@ -58,17 +65,17 @@ endif()
|
|||
if(NOT LIBWEBRTC_INSTALL_INCLUDE_DIR)
|
||||
set(LIBWEBRTC_INSTALL_INCLUDE_DIR "include")
|
||||
endif()
|
||||
if(NOT LIBWEBRTC_INSTALL_CMAKE_DIR)
|
||||
set(LIBWEBRTC_INSTALL_CMAKE_DIR "lib")
|
||||
endif()
|
||||
|
||||
set(LIBWEBRTC_LIBRARY ${CMAKE_STATIC_LIBRARY_PREFIX}webrtc${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
set(LIBWEBRTC_LIBRARY_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}webrtc${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||
|
||||
set(LIBWEBRTC_LIBRARY_PATH ${CMAKE_BINARY_DIR}/${LIBWEBRTC_INSTALL_LIB_DIR}/${LIBWEBRTC_LIBRARY_NAME})
|
||||
|
||||
set(LIBWEBRTC_BUILD_ROOT ${CMAKE_SOURCE_DIR}/src/out/Default)
|
||||
set(LIBWEBRTC_CHROMIUM_DEPS git@github.com:aisouard/libwebrtc-chromium-deps.git)
|
||||
set(LIBWEBRTC_CHROMIUM_DEPS https://github.com/aisouard/libwebrtc-chromium-deps.git)
|
||||
set(LIBWEBRTC_WEBRTC_REVISION 7502401788fcba5c9f81a9e4701e2f0831e78698)
|
||||
|
||||
add_subdirectory(Targets)
|
||||
|
||||
if(BUILD_SAMPLES)
|
||||
add_subdirectory(Samples)
|
||||
endif(BUILD_SAMPLES)
|
||||
endif(BUILD_SAMPLES)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
set(LIBWEBRTC_ENV_COMMAND ${CMAKE_COMMAND} -E env \"PATH=${CMAKE_SOURCE_DIR}/Dependencies/depot_tools:$ENV{PATH}\")
|
||||
|
||||
macro(add_libwebrtc_command
|
||||
ARG_NAME
|
||||
ARG_OUTPUT
|
||||
|
|
@ -11,7 +9,7 @@ macro(add_libwebrtc_command
|
|||
|
||||
add_custom_command(
|
||||
OUTPUT ${ARG_OUTPUT}
|
||||
COMMAND ${ARG_COMMAND}
|
||||
COMMAND export "PATH=${CMAKE_SOURCE_DIR}/Dependencies/depot_tools:$ENV{PATH}" && ${ARG_COMMAND}
|
||||
WORKING_DIRECTORY ${ARG_WORKING_DIRECTORY}
|
||||
COMMENT ${ARG_COMMENT}
|
||||
)
|
||||
|
|
@ -25,4 +23,4 @@ macro(add_libwebrtc_command
|
|||
if (${NUM_ARG_DEPENDENCIES} GREATER 0)
|
||||
add_dependencies(${ARG_NAME} ${ARG_DEPENDENCIES})
|
||||
endif ()
|
||||
endmacro()
|
||||
endmacro()
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ include_directories(${CMAKE_SOURCE_DIR}/out/src)
|
|||
if(WIN)
|
||||
add_definitions(-DWEBRTC_WIN)
|
||||
else(WIN)
|
||||
add_definitions(-DWEBRTC_POSIX -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0)
|
||||
add_definitions(-DWEBRTC_POSIX -std=gnu++0x -D_GLIBCXX_USE_CXX11_ABI=0)
|
||||
set(PEERCONNECTION_SOURCE_FILES ${PEERCONNECTION_SOURCE_FILES}
|
||||
UnixConsole.cpp)
|
||||
endif(WIN)
|
||||
|
|
@ -41,9 +41,7 @@ add_executable(PeerConnection
|
|||
${PEERCONNECTION_SOURCE_FILES}
|
||||
${PEERCONNECTION_HEADER_FILES})
|
||||
|
||||
set(PEERCONNECTION_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${LIBWEBRTC_INSTALL_CMAKE_DIR}/${LIBWEBRTC_LIBRARY}
|
||||
Threads::Threads)
|
||||
set(PEERCONNECTION_LIBRARIES ${LIBWEBRTC_LIBRARY_PATH} Threads::Threads)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
set(PEERCONNECTION_LIBRARIES ${PEERCONNECTION_LIBRARIES}
|
||||
|
|
@ -51,4 +49,4 @@ if(UNIX AND NOT APPLE)
|
|||
${CMAKE_DL_LIBS})
|
||||
endif(UNIX AND NOT APPLE)
|
||||
|
||||
target_link_libraries(PeerConnection ${PEERCONNECTION_LIBRARIES})
|
||||
target_link_libraries(PeerConnection ${PEERCONNECTION_LIBRARIES})
|
||||
|
|
|
|||
|
|
@ -4,18 +4,17 @@ include(Common)
|
|||
# Generate build files
|
||||
#
|
||||
|
||||
set(LIBWEBRTC_GEN_ARGS "")
|
||||
set(LIBWEBRTC_GEN_ARGS use_gold=false)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
set(LIBWEBRTC_GEN_ARGS is_debug=false)
|
||||
set(LIBWEBRTC_GEN_ARGS ${LIBWEBRTC_GEN_ARGS} is_debug=false)
|
||||
endif(NOT CMAKE_BUILD_TYPE MATCHES DEBUG)
|
||||
|
||||
if(NOT BUILD_TESTS)
|
||||
set(LIBWEBRTC_GEN_ARGS ${LIBWEBRTC_GEN_ARGS} rtc_include_tests=false)
|
||||
endif(NOT BUILD_TESTS)
|
||||
|
||||
set(GENERATE_COMMAND
|
||||
${LIBWEBRTC_ENV_COMMAND} gn gen out/Default --args='${LIBWEBRTC_GEN_ARGS}')
|
||||
set(GENERATE_COMMAND gn gen out/Default --args='${LIBWEBRTC_GEN_ARGS}')
|
||||
|
||||
add_libwebrtc_command(libwebrtc_generate_build
|
||||
${CMAKE_BINARY_DIR}/Nevermind
|
||||
|
|
@ -30,8 +29,7 @@ add_libwebrtc_command(libwebrtc_generate_build
|
|||
#
|
||||
|
||||
set(BUILD_WEBRTC_COMMAND
|
||||
${LIBWEBRTC_ENV_COMMAND} ninja -C out/Default
|
||||
libjingle_peerconnection field_trial_default metrics_default)
|
||||
ninja -C out/Default libjingle_peerconnection field_trial_default metrics_default)
|
||||
|
||||
add_libwebrtc_command(libwebrtc_build
|
||||
${CMAKE_BINARY_DIR}/src/out/Default/obj/root.stamp
|
||||
|
|
@ -45,16 +43,15 @@ add_libwebrtc_command(libwebrtc_build
|
|||
# Merge libraries into a single one
|
||||
#
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${LIBWEBRTC_INSTALL_CMAKE_DIR})
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${LIBWEBRTC_INSTALL_LIB_DIR})
|
||||
|
||||
set(MERGE_COMMAND
|
||||
python webrtc/build/merge_libs.py out/Default
|
||||
${CMAKE_BINARY_DIR}/${LIBWEBRTC_INSTALL_CMAKE_DIR}/${LIBWEBRTC_LIBRARY})
|
||||
python webrtc/build/merge_libs.py out/Default ${LIBWEBRTC_LIBRARY_PATH})
|
||||
|
||||
add_libwebrtc_command(libwebrtc_merge
|
||||
${CMAKE_BINARY_DIR}/${LIBWEBRTC_INSTALL_CMAKE_DIR}/${LIBWEBRTC_LIBRARY}
|
||||
${LIBWEBRTC_LIBRARY_PATH}
|
||||
"${MERGE_COMMAND}"
|
||||
${CMAKE_BINARY_DIR}/src
|
||||
"Merging libraries into ${WEBRTC_LIBRARY}"
|
||||
"Merging libraries into ${LIBWEBRTC_LIBRARY_NAME}"
|
||||
libwebrtc_build
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -51,11 +51,11 @@ add_libwebrtc_command(libwebrtc_chromium_deps
|
|||
# Update Clang
|
||||
#
|
||||
|
||||
set(UPDATE_CLAND_COMMAND ${LIBWEBRTC_ENV_COMMAND} python chromium/src/tools/clang/scripts/update.py)
|
||||
set(UPDATE_CLANG_COMMAND python chromium/src/tools/clang/scripts/update.py)
|
||||
|
||||
add_libwebrtc_command(libwebrtc_clang
|
||||
${CMAKE_BINARY_DIR}/src/chromium/src/third_party/llvm-build
|
||||
"${UPDATE_CLAND_COMMAND}"
|
||||
"${UPDATE_CLANG_COMMAND}"
|
||||
${CMAKE_BINARY_DIR}/src
|
||||
"Updating clang"
|
||||
libwebrtc_chromium_deps
|
||||
|
|
@ -65,7 +65,7 @@ add_libwebrtc_command(libwebrtc_clang
|
|||
# Setup Links
|
||||
#
|
||||
|
||||
set(SETUP_LINKS_COMMAND ${LIBWEBRTC_ENV_COMMAND} python setup_links.py)
|
||||
set(SETUP_LINKS_COMMAND python setup_links.py)
|
||||
|
||||
add_libwebrtc_command(libwebrtc_links
|
||||
${CMAKE_BINARY_DIR}/src/tools/clang
|
||||
|
|
@ -73,4 +73,4 @@ add_libwebrtc_command(libwebrtc_links
|
|||
${CMAKE_BINARY_DIR}/src
|
||||
"Creating symbolic links"
|
||||
libwebrtc_clang
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -3,27 +3,56 @@
|
|||
#
|
||||
|
||||
install(
|
||||
FILES ${CMAKE_BINARY_DIR}/${LIBWEBRTC_LIBRARY}
|
||||
DESTINATION ${LIBWEBRTC_INSTALL_LIB_DIR}
|
||||
COMPONENT Libraries
|
||||
FILES ${LIBWEBRTC_LIBRARY_PATH}
|
||||
DESTINATION ${LIBWEBRTC_INSTALL_LIB_DIR}
|
||||
COMPONENT Libraries
|
||||
)
|
||||
|
||||
#
|
||||
# Install headers
|
||||
#
|
||||
|
||||
file(
|
||||
GLOB_RECURSE header_files
|
||||
RELATIVE ${CMAKE_BINARY_DIR}/src
|
||||
FOLLOW_SYMLINKS
|
||||
${CMAKE_BINARY_DIR}/src/webrtc/*.h
|
||||
install(
|
||||
DIRECTORY ${CMAKE_BINARY_DIR}/src/webrtc
|
||||
DESTINATION ${LIBWEBRTC_INSTALL_INCLUDE_DIR}
|
||||
FILES_MATCHING PATTERN "*.h"
|
||||
)
|
||||
|
||||
foreach(f ${header_files})
|
||||
get_filename_component(RELATIVE_PATH ${f} DIRECTORY)
|
||||
install(
|
||||
FILES ${CMAKE_BINARY_DIR}/src/${f}
|
||||
DESTINATION ${LIBWEBRTC_INSTALL_INCLUDE_DIR}/${RELATIVE_PATH}
|
||||
COMPONENT Headers
|
||||
)
|
||||
endforeach()
|
||||
#
|
||||
# Create package
|
||||
#
|
||||
|
||||
set(CPACK_PACKAGE_NAME "${LIBWEBRTC_MAJOR_VERSION}")
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR "${LIBWEBRTC_MAJOR_VERSION}")
|
||||
set(CPACK_PACKAGE_VERSION_MINOR "${LIBWEBRTC_MINOR_VERSION}")
|
||||
set(CPACK_PACKAGE_VERSION_PATCH "${LIBWEBRTC_PATCH_VERSION}")
|
||||
|
||||
if(WIN)
|
||||
set(CPACK_GENERATOR "ZIP")
|
||||
else(WIN)
|
||||
set(CPACK_GENERATOR "TGZ")
|
||||
endif(WIN)
|
||||
|
||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
|
||||
set(LIBWEBRTC_ARCH "arm")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
|
||||
if(APPLE)
|
||||
set(LIBWEBRTC_ARCH "x86")
|
||||
else()
|
||||
set(LIBWEBRTC_ARCH "i386")
|
||||
endif()
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^x86.64$")
|
||||
set(LIBWEBRTC_ARCH "x86_64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc")
|
||||
set(LIBWEBRTC_ARCH "ppc")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc64")
|
||||
set(LIBWEBRTC_ARCH "ppc64")
|
||||
else()
|
||||
set(LIBWEBRTC_ARCH "${CMAKE_SYSTEM_PROCESSOR}")
|
||||
endif()
|
||||
|
||||
set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
|
||||
set(CPACK_PACKAGE_FILE_NAME "libwebrtc-${GIT_COMMIT_TAG}-${CMAKE_SYSTEM_NAME}-${LIBWEBRTC_ARCH}")
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "libwebrtc")
|
||||
|
||||
include(CPack)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue