CMake: Generate the static library instead of using merge_libs.py, fixes #14

This commit is contained in:
Axel Isouard 2016-11-01 14:44:21 +01:00
parent 3bca34b165
commit 5c756a458c
No known key found for this signature in database
GPG key ID: 4E64BB3EAAF31C29
3 changed files with 31 additions and 20 deletions

View file

@ -46,7 +46,7 @@ add_executable(PeerConnection
${PEERCONNECTION_SOURCE_FILES} ${PEERCONNECTION_SOURCE_FILES}
${PEERCONNECTION_HEADER_FILES}) ${PEERCONNECTION_HEADER_FILES})
set(PEERCONNECTION_LIBRARIES ${LIBWEBRTC_LIBRARY_PATH} Threads::Threads) set(PEERCONNECTION_LIBRARIES webrtc Threads::Threads)
if(WIN32) if(WIN32)
set(PEERCONNECTION_LIBRARIES ${PEERCONNECTION_LIBRARIES} msdmo.lib wmcodecdspuuid.lib dmoguids.lib ole32.lib secur32.lib) set(PEERCONNECTION_LIBRARIES ${PEERCONNECTION_LIBRARIES} msdmo.lib wmcodecdspuuid.lib dmoguids.lib ole32.lib secur32.lib)

View file

@ -51,14 +51,35 @@ add_libwebrtc_command(libwebrtc_build
# Merge libraries into a single one # Merge libraries into a single one
# #
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${LIBWEBRTC_INSTALL_LIB_DIR}) if (WIN32)
set(LIBWEBRTC_OBJ_EXT *.obj)
elseif (UNIX AND NOT APPLE)
set(LIBWEBRTC_OBJ_EXT *.o)
elseif (APPLE)
set(LIBWEBRTC_OBJ_EXT *.a)
endif (WIN32)
set(MERGE_COMMAND file(GLOB_RECURSE LIBWEBRTC_OBJ_FILES
python ${CMAKE_SOURCE_DIR}/merge_libs_wrapper.py . ${LIBWEBRTC_LIBRARY_PATH}) ${CMAKE_BINARY_DIR}/src/out/Default/obj/${LIBWEBRTC_OBJ_EXT})
add_libwebrtc_command(libwebrtc_merge file(GLOB_RECURSE LIBWEBRTC_OBJ_EXCLUDED
${LIBWEBRTC_LIBRARY_PATH} ${CMAKE_BINARY_DIR}/src/out/Default/obj/third_party/yasm/gen*/${LIBWEBRTC_OBJ_EXT}
"${MERGE_COMMAND}" ${CMAKE_BINARY_DIR}/src/out/Default/obj/third_party/yasm/re2c/${LIBWEBRTC_OBJ_EXT}
${CMAKE_BINARY_DIR}/src/out/Default/obj ${CMAKE_BINARY_DIR}/src/out/Default/obj/third_party/yasm/yasm/${LIBWEBRTC_OBJ_EXT}
"Merging libraries into ${LIBWEBRTC_LIBRARY_NAME}" ${CMAKE_BINARY_DIR}/src/out/Default/obj/third_party/protobuf/protoc/${LIBWEBRTC_OBJ_EXT}
libwebrtc_build) ${CMAKE_BINARY_DIR}/src/out/Default/obj/third_party/protobuf/protobuf_full/${LIBWEBRTC_OBJ_EXT})
list(REMOVE_ITEM LIBWEBRTC_OBJ_FILES ${LIBWEBRTC_OBJ_EXCLUDED})
add_library(webrtc STATIC ${LIBWEBRTC_OBJ_FILES})
set_source_files_properties(${LIBWEBRTC_OBJ_FILES} PROPERTIES
EXTERNAL_OBJECT true
GENERATED true)
set_target_properties(webrtc PROPERTIES
LINKER_LANGUAGE C)
install(TARGETS webrtc
DESTINATION ${LIBWEBRTC_INSTALL_LIB_DIR}
COMPONENT Libraries)

View file

@ -1,13 +1,3 @@
#
# Install library
#
install(
FILES ${LIBWEBRTC_LIBRARY_PATH}
DESTINATION ${LIBWEBRTC_INSTALL_LIB_DIR}
COMPONENT Libraries
)
# #
# Install headers # Install headers
# #