Enforce static linking, closes #37

This commit is contained in:
Axel Isouard 2017-03-21 18:55:56 +01:00
parent cb13886cbe
commit 522e16128a
No known key found for this signature in database
GPG key ID: 4E64BB3EAAF31C29
7 changed files with 5 additions and 19 deletions

View file

@ -105,7 +105,6 @@ ExternalProject_Add(
BINARY_DIR ${CMAKE_BINARY_DIR}/libwebrtc BINARY_DIR ${CMAKE_BINARY_DIR}/libwebrtc
CMAKE_ARGS CMAKE_ARGS
-DLIBRARY_TYPE:STRING=${LIBRARY_TYPE}
-DTARGET_OS:STRING=${TARGET_OS} -DTARGET_OS:STRING=${TARGET_OS}
-DWEBRTC_OUTPUT_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/out/${_CONFIG} -DWEBRTC_OUTPUT_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/out/${_CONFIG}
-DWEBRTC_SOURCE_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/webrtc -DWEBRTC_SOURCE_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc/src/webrtc

View file

@ -1,7 +1,6 @@
# #
# Install library # Install library
file(GLOB_RECURSE _LIBRARY_FILES file(GLOB_RECURSE _LIBRARY_FILES
${CMAKE_BINARY_DIR}/lib/*${CMAKE_SHARED_LIBRARY_SUFFIX}
${CMAKE_BINARY_DIR}/lib/*${CMAKE_STATIC_LIBRARY_SUFFIX}) ${CMAKE_BINARY_DIR}/lib/*${CMAKE_STATIC_LIBRARY_SUFFIX})
install(FILES ${_LIBRARY_FILES} install(FILES ${_LIBRARY_FILES}

View file

@ -4,7 +4,6 @@ option(BUILD_TESTS "Build test binaries" OFF)
set(DEPOT_TOOLS_PATH "" CACHE STRING "Path to your own depot_tools directory") set(DEPOT_TOOLS_PATH "" CACHE STRING "Path to your own depot_tools directory")
set(NINJA_ARGS "" CACHE STRING "Ninja arguments to pass before compiling WebRTC") set(NINJA_ARGS "" CACHE STRING "Ninja arguments to pass before compiling WebRTC")
set(GN_EXTRA_ARGS "" CACHE STRING "Extra gn gen arguments to pass before generating build files") set(GN_EXTRA_ARGS "" CACHE STRING "Extra gn gen arguments to pass before generating build files")
option(BUILD_SHARED_LIB "Build WebRTC as a shared library" OFF)
set(WEBRTC_REVISION "" CACHE STRING "WebRTC commit hash to checkout") set(WEBRTC_REVISION "" CACHE STRING "WebRTC commit hash to checkout")
set(WEBRTC_BRANCH_HEAD "${LIBWEBRTC_WEBRTC_HEAD}" CACHE STRING "WebRTC branch head to checkout") set(WEBRTC_BRANCH_HEAD "${LIBWEBRTC_WEBRTC_HEAD}" CACHE STRING "WebRTC branch head to checkout")
@ -12,12 +11,6 @@ if (DEPOT_TOOLS_PATH)
set(HAS_OWN_DEPOT_TOOLS 1) set(HAS_OWN_DEPOT_TOOLS 1)
endif (DEPOT_TOOLS_PATH) endif (DEPOT_TOOLS_PATH)
if(BUILD_SHARED_LIB)
set(LIBRARY_TYPE SHARED)
else()
set(LIBRARY_TYPE STATIC)
endif()
# #
# Offer the user the choice of overriding the installation directories # Offer the user the choice of overriding the installation directories
set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")

View file

@ -6,6 +6,5 @@ includedir=@includedir@
Name: LibWebRTC Name: LibWebRTC
Description: Google's native WebRTC implementation shipped into a single library Description: Google's native WebRTC implementation shipped into a single library
Version: @LIBWEBRTC_VERSION@ Version: @LIBWEBRTC_VERSION@
Libs: @LIBWEBRTC_PC_LIBS@ Libs: @LIBWEBRTC_PC_LIBS@ @LIBWEBRTC_PC_LIBS_PRIVATE@
Libs.private: @LIBWEBRTC_PC_LIBS_PRIVATE@ Cflags: -I${includedir} @LIBWEBRTC_PC_DEFINITIONS@ @LIBWEBRTC_PC_CXXFLAGS@
Cflags: -I${includedir} @LIBWEBRTC_PC_DEFINITIONS@ @LIBWEBRTC_PC_CXXFLAGS@

View file

@ -17,7 +17,6 @@
# LIBWEBRTC_VERSION - full version with build prefix # LIBWEBRTC_VERSION - full version with build prefix
# #
# - Library type and targets variables: # - Library type and targets variables:
# LIBWEBRTC_LIBRARY_TYPE - STATIC or SHARED
# LIBWEBRTC_TARGET_OS - android, chromeos, ios, linux, nacl, mac or win # LIBWEBRTC_TARGET_OS - android, chromeos, ios, linux, nacl, mac or win
# LIBWEBRTC_TARGET_CPU - x86, x64, arm, arm64 or mipsel # LIBWEBRTC_TARGET_CPU - x86, x64, arm, arm64 or mipsel
@ -31,7 +30,6 @@ set(LIBWEBRTC_API_VERSION "@LIBWEBRTC_API_VERSION@")
set(LIBWEBRTC_VERSION "@LIBWEBRTC_VERSION@") set(LIBWEBRTC_VERSION "@LIBWEBRTC_VERSION@")
# LibWebRTC library type, target OS and target CPU # LibWebRTC library type, target OS and target CPU
set(LIBWEBRTC_LIBRARY_TYPE "@LIBRARY_TYPE@")
set(LIBWEBRTC_TARGET_OS "@TARGET_OS@") set(LIBWEBRTC_TARGET_OS "@TARGET_OS@")
set(LIBWEBRTC_TARGET_CPU "@TARGET_CPU@") set(LIBWEBRTC_TARGET_CPU "@TARGET_CPU@")
@ -51,7 +49,6 @@ set(LIBWEBRTC_REQUIRED_C_FLAGS_DEBUG "@LIBWEBRTC_REQUIRED_C_FLAGS_DEBUG@")
set(LIBWEBRTC_REQUIRED_C_FLAGS_RELEASE "@LIBWEBRTC_REQUIRED_C_FLAGS_RELEASE@") set(LIBWEBRTC_REQUIRED_C_FLAGS_RELEASE "@LIBWEBRTC_REQUIRED_C_FLAGS_RELEASE@")
set(LIBWEBRTC_REQUIRED_CXX_FLAGS_DEBUG "@LIBWEBRTC_REQUIRED_CXX_FLAGS_DEBUG@") set(LIBWEBRTC_REQUIRED_CXX_FLAGS_DEBUG "@LIBWEBRTC_REQUIRED_CXX_FLAGS_DEBUG@")
set(LIBWEBRTC_REQUIRED_CXX_FLAGS_RELEASE "@LIBWEBRTC_REQUIRED_CXX_FLAGS_RELEASE@") set(LIBWEBRTC_REQUIRED_CXX_FLAGS_RELEASE "@LIBWEBRTC_REQUIRED_CXX_FLAGS_RELEASE@")
set(LIBWEBRTC_REQUIRED_SHARED_LINKER_FLAGS "@LIBWEBRTC_REQUIRED_SHARED_LINKER_FLAGS@")
set(LIBWEBRTC_REQUIRED_STATIC_LINKER_FLAGS "@LIBWEBRTC_REQUIRED_STATIC_LINKER_FLAGS@") set(LIBWEBRTC_REQUIRED_STATIC_LINKER_FLAGS "@LIBWEBRTC_REQUIRED_STATIC_LINKER_FLAGS@")
set(LIBWEBRTC_DEFINITIONS "@LIBWEBRTC_DEFINITIONS@") set(LIBWEBRTC_DEFINITIONS "@LIBWEBRTC_DEFINITIONS@")
@ -60,4 +57,4 @@ set(LIBWEBRTC_CMAKE_DIR "@INSTALL_CMAKE_DIR@")
set(LIBWEBRTC_USE_FILE "${LIBWEBRTC_CMAKE_DIR}/UseLibWebRTC.cmake") set(LIBWEBRTC_USE_FILE "${LIBWEBRTC_CMAKE_DIR}/UseLibWebRTC.cmake")
# Import LibWebRTC targets. # Import LibWebRTC targets.
include("${LIBWEBRTC_CMAKE_DIR}/LibWebRTCTargets.cmake") include("${LIBWEBRTC_CMAKE_DIR}/LibWebRTCTargets.cmake")

View file

@ -23,7 +23,6 @@ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${LIBWEBRTC_REQUIRED_C_FLAGS
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBWEBRTC_REQUIRED_CXX_FLAGS}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LIBWEBRTC_REQUIRED_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${LIBWEBRTC_REQUIRED_CXX_FLAGS_DEBUG}") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${LIBWEBRTC_REQUIRED_CXX_FLAGS_DEBUG}")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${LIBWEBRTC_REQUIRED_CXX_FLAGS_RELEASE}") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${LIBWEBRTC_REQUIRED_CXX_FLAGS_RELEASE}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LIBWEBRTC_REQUIRED_SHARED_LINKER_FLAGS}")
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${LIBWEBRTC_REQUIRED_STATIC_LINKER_FLAGS}") set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${LIBWEBRTC_REQUIRED_STATIC_LINKER_FLAGS}")
# Add preprocessor definitions needed to use LibWebRTC. # Add preprocessor definitions needed to use LibWebRTC.
@ -33,4 +32,4 @@ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${LIBWEBRTC_DEFINITIO
include_directories(${LIBWEBRTC_INCLUDE_DIRS}) include_directories(${LIBWEBRTC_INCLUDE_DIRS})
# Add link directories needed to use LibWebRTC. # Add link directories needed to use LibWebRTC.
link_directories(${LIBWEBRTC_LIBRARY_DIRS}) link_directories(${LIBWEBRTC_LIBRARY_DIRS})

View file

@ -28,7 +28,7 @@ if (${_OBJ_EXCLUDED_LEN} GREATER "0")
list(REMOVE_ITEM _OBJ_FILES ${_OBJ_EXCLUDED}) list(REMOVE_ITEM _OBJ_FILES ${_OBJ_EXCLUDED})
endif () endif ()
add_library(webrtc ${LIBRARY_TYPE} ${_OBJ_FILES}) add_library(webrtc STATIC ${_OBJ_FILES})
set_source_files_properties(${_OBJ_FILES} PROPERTIES set_source_files_properties(${_OBJ_FILES} PROPERTIES
EXTERNAL_OBJECT true EXTERNAL_OBJECT true