CMake: Fix typos, use 2.8 version

This commit is contained in:
Axel Isouard 2016-10-05 23:35:12 +02:00
parent 0f7a17fdf0
commit 368b57662e
6 changed files with 91 additions and 62 deletions

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.2)
cmake_minimum_required(VERSION 2.8)
project(libwebrtc)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
@ -12,7 +12,7 @@ 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
@ -25,22 +25,29 @@ execute_process(
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}"
)
)
set(LIBWEBRTC_VERSION
${LIBWEBRTC_API_VERSION}-${LIBWEBRTC_BUILD_VERSION}
)
set(LIBWEBRTC_LIBRARY_PROPERTIES ${LIBWEBRTC_LIBRARY_PROPERTIES}
VERSION "${LIBWEBRTC_VERSION}"
SOVERSION "${LIBWEBRTC_API_VERSION}"
)
)
#
# Directories
@ -58,13 +65,13 @@ 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)

View file

@ -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}
)

View file

@ -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}

View file

@ -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
)

View file

@ -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

View file

@ -3,7 +3,7 @@
#
install(
FILES ${CMAKE_BINARY_DIR}/${LIBWEBRTC_LIBRARY}
FILES ${LIBWEBRTC_LIBRARY_PATH}
DESTINATION ${LIBWEBRTC_INSTALL_LIB_DIR}
COMPONENT Libraries
)
@ -12,18 +12,47 @@ install(
# 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)