CMake: Rewrite package definitions

This commit is contained in:
Axel Isouard 2016-11-26 09:37:55 +01:00
parent 5fb6525b72
commit 1944a92f9a
No known key found for this signature in database
GPG key ID: 4E64BB3EAAF31C29
4 changed files with 66 additions and 6 deletions

View file

@ -1 +1,2 @@
add_subdirectory(WebRTC)
add_subdirectory(WebRTC)
add_subdirectory(Package)

View file

@ -0,0 +1,46 @@
#
# 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}")
set(CPACK_INSTALL_CMAKE_PROJECTS
"${CPACK_INSTALL_CMAKE_PROJECTS};${CMAKE_BINARY_DIR}/libwebrtc;libwebrtc;ALL;/")
if (WIN)
set(CPACK_GENERATOR "ZIP")
else (WIN)
set(CPACK_GENERATOR "TGZ")
endif (WIN)
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
set(LIBWEBRTC_PLATFORM "linux")
elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(LIBWEBRTC_PLATFORM "mac")
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
set(LIBWEBRTC_PLATFORM "win32")
endif ()
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
set(LIBWEBRTC_ARCH "arm")
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
set(LIBWEBRTC_ARCH "x86")
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^x86.64$")
set(LIBWEBRTC_ARCH "x64")
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")
set(LIBWEBRTC_ARCH "x64")
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-${LIBWEBRTC_VERSION}-${LIBWEBRTC_PLATFORM}-${LIBWEBRTC_ARCH}")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "libwebrtc")
include(CPack)

View file

@ -112,10 +112,11 @@ add_libwebrtc_command(webrtc-build
#
ExternalProject_Add(libwebrtc
DEPENDS webrtc-build
INSTALL_COMMAND ""
INSTALL_DIR ${CMAKE_BINARY_DIR}/install
SOURCE_DIR ${CMAKE_SOURCE_DIR}/Targets/libwebrtc
BINARY_DIR ${CMAKE_BINARY_DIR}/libwebrtc
CMAKE_ARGS
-DLIBWEBRTC_OUTPUT_DIR:STRING=${CMAKE_BINARY_DIR}/src/out/Default
-DLIBWEBRTC_INSTALL_LIB_DIR:PATH=${LIBWEBRTC_INSTALL_LIB_DIR})
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/install
-DLIBWEBRTC_INCLUDE_DIR:STRING=${CMAKE_BINARY_DIR}/src/webrtc
-DLIBWEBRTC_OUTPUT_DIR:PATH=${CMAKE_BINARY_DIR}/src/out/Default)

View file

@ -38,8 +38,20 @@ set_source_files_properties(${LIBWEBRTC_OBJ_FILES} PROPERTIES
GENERATED true)
set_target_properties(webrtc PROPERTIES
LINKER_LANGUAGE C)
LINKER_LANGUAGE C
LIBRARY_OUTPUT_DIRECTORY ${LIBWEBRTC_OUTPUT_DIR})
#
# Install headers
#
install(DIRECTORY ${LIBWEBRTC_INCLUDE_DIR}
DESTINATION "include"
FILES_MATCHING PATTERN "*.h")
#
# Install library
#
install(TARGETS webrtc
DESTINATION ${LIBWEBRTC_INSTALL_LIB_DIR}
DESTINATION "lib"
COMPONENT Libraries)