diff options
author | Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru> | 2017-03-31 15:32:58 +0300 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-03-31 14:32:58 +0200 |
commit | a1c928e70cd995426449ac6ec6df3b5a492580e5 (patch) | |
tree | 6996b02ac2ecbd3e8894f38b74ecc762d69f3cbb /ci/common/build.sh | |
parent | 77539eef9baa0d070a1d07360dda2177c2ae41a7 (diff) | |
download | rneovim-a1c928e70cd995426449ac6ec6df3b5a492580e5.tar.gz rneovim-a1c928e70cd995426449ac6ec6df3b5a492580e5.tar.bz2 rneovim-a1c928e70cd995426449ac6ec6df3b5a492580e5.zip |
ci: Do not hide ci directory (#6410)
Diffstat (limited to 'ci/common/build.sh')
-rw-r--r-- | ci/common/build.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/ci/common/build.sh b/ci/common/build.sh new file mode 100644 index 0000000000..44087513ee --- /dev/null +++ b/ci/common/build.sh @@ -0,0 +1,81 @@ +build_deps() { + if [[ "${BUILD_32BIT}" == ON ]]; then + DEPS_CMAKE_FLAGS="${DEPS_CMAKE_FLAGS} ${CMAKE_FLAGS_32BIT}" + fi + if [[ "${FUNCTIONALTEST}" == "functionaltest-lua" ]]; then + DEPS_CMAKE_FLAGS="${DEPS_CMAKE_FLAGS} -DUSE_BUNDLED_LUA=ON" + fi + + rm -rf "${DEPS_BUILD_DIR}" + + # If there is a valid cache and we're not forced to recompile, + # use cached third-party dependencies. + if [[ -f "${CACHE_MARKER}" ]] && [[ "${BUILD_NVIM_DEPS}" != true ]]; then + if [[ "${TRAVIS_OS_NAME}" == osx ]]; then + local statcmd="stat -f '%Sm'" + else + local statcmd="stat -c '%y'" + fi + echo "Using third-party dependencies from Travis's cache (last updated: $(${statcmd} "${CACHE_MARKER}"))." + + mkdir -p "$(dirname "${DEPS_BUILD_DIR}")" + mv "${HOME}/.cache/nvim-deps" "${DEPS_BUILD_DIR}" + else + mkdir -p "${DEPS_BUILD_DIR}" + fi + + # Even if we're using cached dependencies, run CMake and make to + # update CMake configuration and update to newer deps versions. + cd "${DEPS_BUILD_DIR}" + echo "Configuring with '${DEPS_CMAKE_FLAGS}'." + CC= cmake ${DEPS_CMAKE_FLAGS} "${TRAVIS_BUILD_DIR}/third-party/" + + if ! ${MAKE_CMD}; then + exit 1 + fi + + cd "${TRAVIS_BUILD_DIR}" +} + +prepare_build() { + if [[ -n "${CLANG_SANITIZER}" ]]; then + CMAKE_FLAGS="${CMAKE_FLAGS} -DCLANG_${CLANG_SANITIZER}=ON" + fi + if [[ "${BUILD_32BIT}" == ON ]]; then + CMAKE_FLAGS="${CMAKE_FLAGS} ${CMAKE_FLAGS_32BIT}" + fi + + mkdir -p "${BUILD_DIR}" + cd "${BUILD_DIR}" + echo "Configuring with '${CMAKE_FLAGS} $@'." + cmake ${CMAKE_FLAGS} "$@" "${TRAVIS_BUILD_DIR}" +} + +build_nvim() { + echo "Building nvim." + if ! ${MAKE_CMD} nvim; then + exit 1 + fi + + if [ "$CLANG_SANITIZER" != "TSAN" ]; then + echo "Building libnvim." + if ! ${MAKE_CMD} libnvim; then + exit 1 + fi + + echo "Building nvim-test." + if ! ${MAKE_CMD} nvim-test; then + exit 1 + fi + fi + + # Invoke nvim to trigger *San early. + if ! (bin/nvim --version && bin/nvim -u NONE -e -c ':qall'); then + asan_check "${LOG_DIR}" + exit 1 + fi + asan_check "${LOG_DIR}" + + + cd "${TRAVIS_BUILD_DIR}" +} |