1
0
Fork 0
llvm-premerge-checks/scripts/run_cmake.sh

42 lines
1.5 KiB
Bash
Raw Normal View History

2019-10-17 18:09:59 +02:00
#!/bin/bash
# Copyright 2019 Google LLC
#
# Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://llvm.org/LICENSE.txt
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -eux
2019-10-17 18:09:59 +02:00
# Runs Cmake.
# Inputs: CCACHE_PATH, WORKSPACE, TARGET_DIR; $WORKSPACE/build must exist.
# Outputs: $TARGET_DIR/CMakeCache.txt, $WORKSPACE/compile_commands.json (symlink).
2019-10-17 18:09:59 +02:00
echo "Running CMake... ======================================"
export CC=clang
export CXX=clang++
2019-10-17 18:09:59 +02:00
export LD=LLD
cd "$WORKSPACE"/build
2019-10-17 18:09:59 +02:00
set +e
cmake -GNinja ../llvm -DCMAKE_BUILD_TYPE=Release -D LLVM_ENABLE_LLD=ON \
2020-04-21 09:27:59 +02:00
-D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libc;libcxx;libcxxabi;lld;libunwind;mlir;flang;lldb" \
-D LLVM_CCACHE_BUILD=ON -D LLVM_CCACHE_DIR="${CCACHE_PATH}" -D LLVM_CCACHE_MAXSIZE=20G \
2019-10-17 18:09:59 +02:00
-D LLVM_ENABLE_ASSERTIONS=ON -DCMAKE_CXX_FLAGS=-gmlt \
-DLLVM_LIT_ARGS="-v --xunit-xml-output ${WORKSPACE}/build/test-results.xml"
2019-10-17 18:09:59 +02:00
RETURN_CODE="${PIPESTATUS[0]}"
set -e
rm -f "$WORKSPACE/compile_commands.json"
ln -s "$WORKSPACE"/build/compile_commands.json "$WORKSPACE"
2019-11-18 17:30:11 +01:00
cp CMakeCache.txt ${TARGET_DIR}
2019-10-17 18:09:59 +02:00
echo "CMake completed ======================================"
exit "${RETURN_CODE}"