aboutsummaryrefslogtreecommitdiff
path: root/.travis_scripts/cmake_builder.sh
diff options
context:
space:
mode:
Diffstat (limited to '.travis_scripts/cmake_builder.sh')
-rwxr-xr-x.travis_scripts/cmake_builder.sh130
1 files changed, 0 insertions, 130 deletions
diff --git a/.travis_scripts/cmake_builder.sh b/.travis_scripts/cmake_builder.sh
deleted file mode 100755
index f3d4e46..0000000
--- a/.travis_scripts/cmake_builder.sh
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/usr/bin/env sh
-# This script can be used on the command line directly to configure several
-# different build environments.
-# This is called by `.travis.yml` via Travis CI.
-# Travis supplies $TRAVIS_OS_NAME.
-# http://docs.travis-ci.com/user/multi-os/
-# Our .travis.yml also defines:
-
-# - BUILD_TYPE=Release/Debug
-# - LIB_TYPE=static/shared
-#
-# Optional environmental variables
-# - DESTDIR <- used for setting the install prefix
-# - BUILD_TOOL=["Unix Makefile"|"Ninja"]
-# - BUILDNAME <- how to identify this build on the dashboard
-# - DO_MemCheck <- if set, try to use valgrind
-# - DO_Coverage <- if set, try to do dashboard coverage testing
-#
-
-env_set=1
-if ${BUILD_TYPE+false}; then
- echo "BUILD_TYPE not set in environment."
- env_set=0
-fi
-if ${LIB_TYPE+false}; then
- echo "LIB_TYPE not set in environment."
- env_set=0
-fi
-if ${CXX+false}; then
- echo "CXX not set in environment."
- env_set=0
-fi
-
-
-if [ ${env_set} -eq 0 ]; then
- echo "USAGE: CXX=$(which clang++) BUILD_TYPE=[Release|Debug] LIB_TYPE=[static|shared] $0"
- echo ""
- echo "Examples:"
- echo " CXX=$(which clang++) BUILD_TYPE=Release LIB_TYPE=shared DESTDIR=/tmp/cmake_json_cpp $0"
- echo " CXX=$(which clang++) BUILD_TYPE=Debug LIB_TYPE=shared DESTDIR=/tmp/cmake_json_cpp $0"
- echo " CXX=$(which clang++) BUILD_TYPE=Release LIB_TYPE=static DESTDIR=/tmp/cmake_json_cpp $0"
- echo " CXX=$(which clang++) BUILD_TYPE=Debug LIB_TYPE=static DESTDIR=/tmp/cmake_json_cpp $0"
-
- echo " CXX=$(which g++) BUILD_TYPE=Release LIB_TYPE=shared DESTDIR=/tmp/cmake_json_cpp $0"
- echo " CXX=$(which g++) BUILD_TYPE=Debug LIB_TYPE=shared DESTDIR=/tmp/cmake_json_cpp $0"
- echo " CXX=$(which g++) BUILD_TYPE=Release LIB_TYPE=static DESTDIR=/tmp/cmake_json_cpp $0"
- echo " CXX=$(which g++) BUILD_TYPE=Debug LIB_TYPE=static DESTDIR=/tmp/cmake_json_cpp $0"
-
- exit -1
-fi
-
-if ${DESTDIR+false}; then
- DESTDIR="/usr/local"
-fi
-
-# -e: fail on error
-# -v: show commands
-# -x: show expanded commands
-set -vex
-
-env | sort
-
-which cmake
-cmake --version
-
-echo ${CXX}
-${CXX} --version
-_COMPILER_NAME=`basename ${CXX}`
-if [ "${LIB_TYPE}" = "shared" ]; then
- _CMAKE_BUILD_SHARED_LIBS=ON
-else
- _CMAKE_BUILD_SHARED_LIBS=OFF
-fi
-
-CTEST_TESTING_OPTION="-D ExperimentalTest"
-# - DO_MemCheck <- if set, try to use valgrind
-if ! ${DO_MemCheck+false}; then
- valgrind --version
- CTEST_TESTING_OPTION="-D ExperimentalMemCheck"
-else
-# - DO_Coverage <- if set, try to do dashboard coverage testing
- if ! ${DO_Coverage+false}; then
- export CXXFLAGS="-fprofile-arcs -ftest-coverage"
- export LDFLAGS="-fprofile-arcs -ftest-coverage"
- CTEST_TESTING_OPTION="-D ExperimentalTest -D ExperimentalCoverage"
- #gcov --version
- fi
-fi
-
-# Ninja = Generates build.ninja files.
-if ${BUILD_TOOL+false}; then
- BUILD_TOOL="Ninja"
- export _BUILD_EXE=ninja
- which ninja
- ninja --version
-else
-# Unix Makefiles = Generates standard UNIX makefiles.
- export _BUILD_EXE=make
-fi
-
-_BUILD_DIR_NAME="build-cmake_${BUILD_TYPE}_${LIB_TYPE}_${_COMPILER_NAME}_${_BUILD_EXE}"
-mkdir -p ${_BUILD_DIR_NAME}
-cd "${_BUILD_DIR_NAME}"
- if ${BUILDNAME+false}; then
- _HOSTNAME=`hostname -s`
- BUILDNAME="${_HOSTNAME}_${BUILD_TYPE}_${LIB_TYPE}_${_COMPILER_NAME}_${_BUILD_EXE}"
- fi
- cmake \
- -G "${BUILD_TOOL}" \
- -DBUILDNAME:STRING="${BUILDNAME}" \
- -DCMAKE_CXX_COMPILER:PATH=${CXX} \
- -DCMAKE_BUILD_TYPE:STRING=${BUILD_TYPE} \
- -DBUILD_SHARED_LIBS:BOOL=${_CMAKE_BUILD_SHARED_LIBS} \
- -DCMAKE_INSTALL_PREFIX:PATH=${DESTDIR} \
- ../
-
- ctest -C ${BUILD_TYPE} -D ExperimentalStart -D ExperimentalConfigure -D ExperimentalBuild ${CTEST_TESTING_OPTION} -D ExperimentalSubmit
- # Final step is to verify that installation succeeds
- cmake --build . --config ${BUILD_TYPE} --target install
-
- if [ "${DESTDIR}" != "/usr/local" ]; then
- ${_BUILD_EXE} install
- fi
-cd -
-
-if ${CLEANUP+false}; then
- echo "Skipping cleanup: build directory will persist."
-else
- rm -r "${_BUILD_DIR_NAME}"
-fi