Merge commit 'f8dd96543542220181c76afb8c084f4908213fb5' as 'third_party/mason'

This commit is contained in:
Patrick Niklaus
2016-12-15 10:31:15 +00:00
796 changed files with 30230 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
#!/usr/bin/env bash
LIB_VERSION=1.7.0
MASON_NAME=gtest
MASON_VERSION=${LIB_VERSION}-cxx11abi
MASON_LIB_FILE=lib/libgtest.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://googletest.googlecode.com/files/gtest-${LIB_VERSION}.zip \
86f5fd0ce20ef1283092d1d5a4bc004916521aaf
mason_setup_build_dir
unzip ../.cache/${MASON_SLUG}
export MASON_BUILD_PATH=${MASON_ROOT}/.build/gtest-${LIB_VERSION}
}
function mason_compile {
if [ ${MASON_PLATFORM} = 'ios' ]; then
${CXX:-c++} ${CFLAGS:-} -O3 -g -isystem fused-src -pthread -c -fPIC fused-src/gtest/gtest-all.cc
mkdir -p lib/.libs
libtool -static gtest-all.o -o lib/.libs/libgtest.a
else
./configure \
--prefix=${MASON_PREFIX} \
${MASON_HOST_ARG} \
--enable-static \
--with-pic \
--disable-shared \
--disable-dependency-tracking
make -j${MASON_CONCURRENCY}
fi
mkdir -p ${MASON_PREFIX}/lib
cp -v lib/.libs/libgtest.a ${MASON_PREFIX}/lib
mkdir -p ${MASON_PREFIX}/include/gtest
cp -v fused-src/gtest/gtest.h ${MASON_PREFIX}/include/gtest
}
function mason_cflags {
echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include
}
function mason_ldflags {
echo -lpthread
}
function mason_static_libs {
echo ${MASON_PREFIX}/lib/libgtest.a
}
mason_run "$@"
+46
View File
@@ -0,0 +1,46 @@
language: cpp
sudo: false
compiler: clang
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ]
packages: [ 'libstdc++-5-dev', 'cmake', 'cmake-data' ]
matrix:
exclude:
- os: linux
include:
- os: osx
osx_image: xcode7
env: MASON_PLATFORM=ios
- os: osx
osx_image: xcode7
env: MASON_PLATFORM=osx
- os: linux
env: MASON_PLATFORM=linux
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64
before_install:
- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
+82
View File
@@ -0,0 +1,82 @@
#!/usr/bin/env bash
LIB_VERSION=1.7.0
MASON_NAME=gtest
MASON_VERSION=${LIB_VERSION}
MASON_LIB_FILE=lib/libgtest.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/google/googletest/archive/release-${LIB_VERSION}.tar.gz \
88afbaea71b4ba50b25f52e13e8c3b01f0f99494
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/googletest-release-${LIB_VERSION}
}
function mason_build {
mason_load_source
mason_step "Building for Platform '${MASON_PLATFORM}/${MASON_PLATFORM_VERSION}'..."
cd "${MASON_BUILD_PATH}"
mkdir -p ${MASON_PREFIX}/lib
mkdir -p ${MASON_PREFIX}/include/gtest
cp -rv include ${MASON_PREFIX}
rm -rf build
mkdir -p build
cd build
if [ ${MASON_PLATFORM} = 'ios' ]; then
cmake \
-GXcode \
-DCMAKE_TOOLCHAIN_FILE=${MASON_DIR}/utils/ios.cmake \
..
xcodebuild -configuration Release -sdk iphoneos
xcodebuild -configuration Release -sdk iphonesimulator
mason_substep "Creating Universal Binary..."
LIB_FOLDERS="Release-iphoneos Release-iphonesimulator"
mkdir -p ${MASON_PREFIX}/lib
for LIB in $(find ${LIB_FOLDERS} -name "*.a" | xargs basename | sort | uniq) ; do
lipo -create $(find ${LIB_FOLDERS} -name "${LIB}") -output ${MASON_PREFIX}/lib/${LIB}
lipo -info ${MASON_PREFIX}/lib/${LIB}
done
elif [ ${MASON_PLATFORM} = 'android' ]; then
${MASON_DIR}/utils/android.sh > toolchain.cmake
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \
..
make VERBOSE=1 -j${MASON_CONCURRENCY} gtest
cp -v libgtest.a ${MASON_PREFIX}/lib
else
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
..
make VERBOSE=1 -j${MASON_CONCURRENCY} gtest
cp -v libgtest.a ${MASON_PREFIX}/lib
fi
}
function mason_cflags {
echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include
}
function mason_ldflags {
if [ ${MASON_PLATFORM} != 'android' ]; then
echo -lpthread
fi
}
function mason_static_libs {
echo ${MASON_PREFIX}/lib/libgtest.a
}
mason_run "$@"
+46
View File
@@ -0,0 +1,46 @@
language: cpp
sudo: false
compiler: clang
addons:
apt:
sources: [ 'ubuntu-toolchain-r-test', 'george-edison55-precise-backports' ]
packages: [ 'libstdc++-5-dev', 'cmake', 'cmake-data' ]
matrix:
exclude:
- os: linux
include:
- os: osx
osx_image: xcode7
env: MASON_PLATFORM=ios
- os: osx
osx_image: xcode7
env: MASON_PLATFORM=osx
- os: linux
env: MASON_PLATFORM=linux
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips
- os: linux
env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64
before_install:
- if [[ ${MASON_PLATFORM} == "osx" || ${MASON_PLATFORM} == "ios" ]]; then brew install cmake ; fi
script:
- ./mason build ${MASON_NAME} ${MASON_VERSION}
after_success:
- ./mason publish ${MASON_NAME} ${MASON_VERSION}
+80
View File
@@ -0,0 +1,80 @@
#!/usr/bin/env bash
LIB_VERSION=1.8.0
MASON_NAME=gtest
MASON_VERSION=${LIB_VERSION}
MASON_LIB_FILE=lib/libgtest.a
. ${MASON_DIR}/mason.sh
function mason_load_source {
mason_download \
https://github.com/google/googletest/archive/release-${LIB_VERSION}.tar.gz \
a40df33faad4a1fb308282148296ad7d0df4dd7a
mason_extract_tar_gz
export MASON_BUILD_PATH=${MASON_ROOT}/.build/googletest-release-${LIB_VERSION}/googletest
}
function mason_build {
mason_load_source
mason_step "Building for Platform '${MASON_PLATFORM}/${MASON_PLATFORM_VERSION}'..."
cd "${MASON_BUILD_PATH}"
mkdir -p ${MASON_PREFIX}/lib
mkdir -p ${MASON_PREFIX}/include/gtest
cp -rv include ${MASON_PREFIX}
rm -rf build
mkdir -p build
cd build
if [ ${MASON_PLATFORM} = 'ios' ]; then
cmake \
-GXcode \
-DCMAKE_TOOLCHAIN_FILE=${MASON_DIR}/utils/ios.cmake \
..
xcodebuild -configuration Release -sdk iphoneos
xcodebuild -configuration Release -sdk iphonesimulator
mason_substep "Creating Universal Binary..."
LIB_FOLDERS="Release-iphoneos Release-iphonesimulator"
mkdir -p ${MASON_PREFIX}/lib
for LIB in $(find ${LIB_FOLDERS} -name "*.a" | xargs basename | sort | uniq) ; do
lipo -create $(find ${LIB_FOLDERS} -name "${LIB}") -output ${MASON_PREFIX}/lib/${LIB}
lipo -info ${MASON_PREFIX}/lib/${LIB}
done
elif [ ${MASON_PLATFORM} = 'android' ]; then
${MASON_DIR}/utils/android.sh > toolchain.cmake
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
-DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \
..
make VERBOSE=1 -j${MASON_CONCURRENCY} gtest
cp -v libgtest.a ${MASON_PREFIX}/lib
else
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=${MASON_PREFIX} \
..
make VERBOSE=1 -j${MASON_CONCURRENCY} gtest
cp -v libgtest.a ${MASON_PREFIX}/lib
fi
}
function mason_cflags {
echo -isystem ${MASON_PREFIX}/include -I${MASON_PREFIX}/include
}
function mason_ldflags {
echo -lpthread
}
function mason_static_libs {
echo ${MASON_PREFIX}/lib/libgtest.a
}
mason_run "$@"