diff --git a/.travis.yml b/.travis.yml index 7a1b61f..453bfc1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,8 +2,35 @@ matrix: include: - os: linux sudo: required + env: TARGET_CPU=x86 + + - os: linux + sudo: required + env: TARGET_CPU=x86 CMAKE_BUILD_TYPE=Debug + + - os: linux + sudo: required + env: TARGET_CPU=x64 + + - os: linux + sudo: required + env: TARGET_CPU=x64 CMAKE_BUILD_TYPE=Debug + - os: osx osx_image: xcode7.3 + env: TARGET_CPU=x86 + + - os: osx + osx_image: xcode7.3 + env: TARGET_CPU=x86 CMAKE_BUILD_TYPE=Debug + + - os: osx + osx_image: xcode7.3 + env: TARGET_CPU=x64 + + - os: osx + osx_image: xcode7.3 + env: TARGET_CPU=x64 CMAKE_BUILD_TYPE=Debug language: cpp @@ -43,7 +70,7 @@ install: - git submodule update - mkdir out - cd out -- cmake .. +- cmake -DTARGET_CPU=$TARGET_CPU .. script: - make -j 4 package @@ -52,7 +79,15 @@ deploy: provider: releases api_key: secure: UazaqOOoifs5xE/xw+tjVnFAkl6MMJeZSW7B0DXX0wnHorKM5K72q9Ms3JYvJIp6DDV3vIeX/Yv/WQCnfRkDDhcbLohGZoOj2X3q53RSfJiOq/iIyPiPTRmkk3jQRBOvXl5zLePNaXU2vBuSgcM8az+wGjxaDLUB+EebSGRHPbXrGSnDDHaNnmb4Zm7SZ2DpL5ubRDlLTHst7Jh7OigrIblYKNCzwEc7UQsFNzLnu7dyZT4hF2Y+2KYl/3vUUkUGxu0AxVG7zilnjJE7O5gX76r+SQXs151uWwZeH41NNPxRSod51LKQS/V/I4afjjTaYC5+9lSUdNkOpEGrxU+61hSJvNGxL6rTqfiBTAOiJdMR3u4OmF+B72O0nUUpsNtlkSPBK9402Z65LH/UI2BIJ/oMfkjNSzTNTHvB+n+18nFryzUmgEJ4CEy7Yx5HGO1vXCP4OsHGAu5YCkDGV2uVttiYHlm2qWgTY59cQt61h1saQWMwj6Uivhz8XrS86K0r/YAS30t+7+/xG6dneXgctM9oYjIbVCFnImsE30FpWlCJvGnJzo37wctbTQscHs5iuqjt1an7AhQgOTMQwmtyyg32D6N9e4n+RJA9pEj3Qtpi51LVD1cdCahbZ1l4bURlNueqfB3d4oZvr9o/QNjm+qH/FRUWjAmWtbBr16ZXfiA= - file: libwebrtc-$TRAVIS_TAG-linux-x64.tar.gz + file: + - libwebrtc-$TRAVIS_TAG-linux-x86.tar.gz + - libwebrtc-$TRAVIS_TAG-linux-x64.tar.gz + - libwebrtc-$TRAVIS_TAG-linux-x86-debug.tar.gz + - libwebrtc-$TRAVIS_TAG-linux-x64-debug.tar.gz + - libwebrtc-$TRAVIS_TAG-mac-x86.tar.gz + - libwebrtc-$TRAVIS_TAG-mac-x64.tar.gz + - libwebrtc-$TRAVIS_TAG-mac-x86-debug.tar.gz + - libwebrtc-$TRAVIS_TAG-mac-x64-debug.tar.gz skip_cleanup: true overwrite: true on: diff --git a/CMakeLists.txt b/CMakeLists.txt index c1649f1..0670b81 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,10 +51,11 @@ if (NOT HAS_OWN_DEPOT_TOOLS) endif (NOT HAS_OWN_DEPOT_TOOLS) set(_WEBRTC_CMAKE_ARGS + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH} -DDEPOT_TOOLS_PATH:PATH=${DEPOT_TOOLS_PATH} -DGCLIENT_EXECUTABLE:PATH=${GCLIENT_EXECUTABLE} -DHAS_OWN_DEPOT_TOOLS:PATH=${HAS_OWN_DEPOT_TOOLS} - -DCMAKE_MODULE_PATH:PATH=${CMAKE_MODULE_PATH} -DTARGET_CPU=${TARGET_CPU} -DTARGET_OS=${TARGET_OS} -DWEBRTC_PARENT_DIR:PATH=${CMAKE_BINARY_DIR}/webrtc) diff --git a/CMakeModules/Package.cmake b/CMakeModules/Package.cmake index 949e6e4..9a7f0ff 100644 --- a/CMakeModules/Package.cmake +++ b/CMakeModules/Package.cmake @@ -1,6 +1,7 @@ # # Create package set(CPACK_PACKAGE_FILE_NAME "libwebrtc-${LIBWEBRTC_VERSION}-${TARGET_OS}-${TARGET_CPU}") + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "WebRTC in a single static library") set(CPACK_PACKAGE_DESCRIPTION "Google's native WebRTC implementation shipped into a single library") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") @@ -16,6 +17,12 @@ set(CPACK_PACKAGE_CONTACT "axel@isouard.fr") if (WIN32) set(CPACK_GENERATOR "ZIP") + + if (MSVC OR XCODE) + set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}-$<$:debug>) + elseif (CMAKE_BUILD_TYPE MATCHES Debug) + set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}-debug) + endif (MSVC OR XCODE) else (WIN32) set(CPACK_GENERATOR "TGZ") endif (WIN32) @@ -68,6 +75,10 @@ if (UNIX AND NOT APPLE) set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-${_PACKAGE_ARCH}") set(CPACK_SOURCE_PACKAGE_FILE_NAME "libwebrtc-${LIBWEBRTC_VERSION}-${_PACKAGE_ARCH}") + + if (CMAKE_BUILD_TYPE MATCHES Debug) + set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME}-debug) + endif (CMAKE_BUILD_TYPE MATCHES Debug) endif (UNIX AND NOT APPLE) set(CPACK_INSTALL_CMAKE_PROJECTS diff --git a/CMakeModules/TargetOsAndCpu.cmake b/CMakeModules/TargetOsAndCpu.cmake index d1f7e3b..3b34df1 100644 --- a/CMakeModules/TargetOsAndCpu.cmake +++ b/CMakeModules/TargetOsAndCpu.cmake @@ -83,3 +83,5 @@ elseif (WIN32) set(LIBWEBRTC_REQUIRED_CXX_FLAGS_RELEASE "/MT") list(APPEND LIBWEBRTC_DEFINITIONS WEBRTC_WIN NOMINMAX _CRT_SECURE_NO_WARNINGS) endif(UNIX) + +message(STATUS "Building for ${TARGET_OS} (${TARGET_CPU})") diff --git a/appveyor.yml b/appveyor.yml index c9681d6..ca28512 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,9 +1,25 @@ os: Visual Studio 2015 -platform: - - x64 +matrix: + fast_finish: true -configuration: Release +environment: + matrix: + - platform: x86 + configuration: Debug + CMAKE_GENERATOR: "Visual Studio 14 2015" + + - platform: x86 + configuration: Release + CMAKE_GENERATOR: "Visual Studio 14 2015" + + - platform: x64 + configuration: Debug + CMAKE_GENERATOR: "Visual Studio 14 2015 Win64" + + - platform: x64 + configuration: Release + CMAKE_GENERATOR: "Visual Studio 14 2015 Win64" clone_folder: c:\projects\libwebrtc @@ -13,9 +29,18 @@ build: before_build: - cd c:\projects\libwebrtc - git submodule update --init --recursive - - cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=c:\projects\libwebrtc . + - cmake -G %CMAKE_GENERATOR% -DCMAKE_INSTALL_PREFIX=c:\projects\libwebrtc . artifacts: + - path: libwebrtc-0.0.1-rc.4-win-x86-debug.zip + name: libwebrtc-0.0.1-rc.4-win-x86-debug.zip + + - path: libwebrtc-0.0.1-rc.4-win-x86.zip + name: libwebrtc-0.0.1-rc.4-win-x86.zip + + - path: libwebrtc-0.0.1-rc.4-win-x64-debug.zip + name: libwebrtc-0.0.1-rc.4-win-x64-debug.zip + - path: libwebrtc-0.0.1-rc.4-win-x64.zip name: libwebrtc-0.0.1-rc.4-win-x64.zip