mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-18 00:02:21 +08:00
ci: add an image for Debian 10
This image is primarily for the include-what-you-use build.
This commit is contained in:
15
.gitlab/ci/docker/debian10/Dockerfile
Normal file
15
.gitlab/ci/docker/debian10/Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
FROM debian:10 as iwyu-build
|
||||||
|
MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
|
||||||
|
|
||||||
|
COPY install_iwyu.sh /root/install_iwyu.sh
|
||||||
|
RUN sh /root/install_iwyu.sh
|
||||||
|
|
||||||
|
FROM debian:10
|
||||||
|
MAINTAINER Ben Boeckel <ben.boeckel@kitware.com>
|
||||||
|
|
||||||
|
COPY install_deps.sh /root/install_deps.sh
|
||||||
|
RUN sh /root/install_deps.sh
|
||||||
|
|
||||||
|
COPY --from=iwyu-build /root/iwyu.tar.gz /root/iwyu.tar.gz
|
||||||
|
RUN tar -C / -xf /root/iwyu.tar.gz
|
||||||
|
RUN ln -s /usr/lib/llvm-6.0/bin/include-what-you-use /usr/bin/include-what-you-use-6.0
|
22
.gitlab/ci/docker/debian10/install_deps.sh
Executable file
22
.gitlab/ci/docker/debian10/install_deps.sh
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
# Install build requirements.
|
||||||
|
apt-get install -y \
|
||||||
|
libssl-dev
|
||||||
|
|
||||||
|
# Install development tools.
|
||||||
|
apt-get install -y \
|
||||||
|
g++ \
|
||||||
|
curl \
|
||||||
|
git
|
||||||
|
|
||||||
|
# Install iwyu runtime deps.
|
||||||
|
apt-get install -y \
|
||||||
|
clang-6.0 \
|
||||||
|
libncurses6
|
||||||
|
|
||||||
|
apt-get clean
|
32
.gitlab/ci/docker/debian10/install_iwyu.sh
Executable file
32
.gitlab/ci/docker/debian10/install_iwyu.sh
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Install development tools.
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y \
|
||||||
|
clang-6.0 \
|
||||||
|
libclang-6.0-dev \
|
||||||
|
llvm-6.0-dev \
|
||||||
|
libz-dev \
|
||||||
|
g++ \
|
||||||
|
cmake \
|
||||||
|
ninja-build \
|
||||||
|
git
|
||||||
|
|
||||||
|
cd /root
|
||||||
|
git clone "https://github.com/include-what-you-use/include-what-you-use.git"
|
||||||
|
cd include-what-you-use
|
||||||
|
readonly llvm_version="$( clang-6.0 --version | head -n1 | cut -d' ' -f3 | cut -d. -f-2 )"
|
||||||
|
git checkout "clang_$llvm_version"
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
cmake -GNinja \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
"-DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-$llvm_version" \
|
||||||
|
"-DIWYU_LLVM_ROOT_PATH=/usr/lib/llvm-$llvm_version" \
|
||||||
|
..
|
||||||
|
ninja
|
||||||
|
DESTDIR=/root/iwyu-destdir ninja install
|
||||||
|
tar -C /root/iwyu-destdir -cf /root/iwyu.tar.gz .
|
Reference in New Issue
Block a user