Skip to content

Commit d292005

Browse files
committed
Add Include what you use
1 parent 049ab63 commit d292005

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

ci/do_ci.sh

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,16 @@ mkdir -p "${BUILD_DIR}"
5959
[ -z "${PLUGIN_DIR}" ] && export PLUGIN_DIR=$HOME/plugin
6060
mkdir -p "${PLUGIN_DIR}"
6161

62+
IWYU=""
63+
MAKE_COMMAND="make -k -j \$(nproc)"
64+
if [[ "${CXX}" == *clang* ]]; then
65+
MAKE_COMMAND="make -k CXX=include-what-you-use CXXFLAGS=\"-Xiwyu --error_always\" -j \$(nproc)"
66+
IWYU="-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=iwyu"
67+
fi
68+
69+
echo "make command: ${MAKE_COMMAND}"
70+
echo "IWYU option: ${IWYU}"
71+
6272
BAZEL_OPTIONS_DEFAULT="--copt=-DENABLE_LOGS_PREVIEW --copt=-DENABLE_TEST --copt=-DENABLE_METRICS_EXEMPLAR_PREVIEW"
6373
BAZEL_OPTIONS="--cxxopt=-std=c++14 $BAZEL_OPTIONS_DEFAULT"
6474

@@ -109,8 +119,9 @@ elif [[ "$1" == "cmake.maintainer.sync.test" ]]; then
109119
-DWITH_ASYNC_EXPORT_PREVIEW=OFF \
110120
-DOTELCPP_MAINTAINER_MODE=ON \
111121
-DWITH_NO_DEPRECATED_CODE=ON \
122+
${IWYU} \
112123
"${SRC_DIR}"
113-
make -k
124+
eval "$MAKE_COMMAND"
114125
make test
115126
exit 0
116127
elif [[ "$1" == "cmake.maintainer.async.test" ]]; then
@@ -132,8 +143,9 @@ elif [[ "$1" == "cmake.maintainer.async.test" ]]; then
132143
-DWITH_ASYNC_EXPORT_PREVIEW=ON \
133144
-DOTELCPP_MAINTAINER_MODE=ON \
134145
-DWITH_NO_DEPRECATED_CODE=ON \
146+
${IWYU} \
135147
"${SRC_DIR}"
136-
make -k -j $(nproc)
148+
eval "$MAKE_COMMAND"
137149
make test
138150
exit 0
139151
elif [[ "$1" == "cmake.maintainer.cpp11.async.test" ]]; then
@@ -206,8 +218,9 @@ elif [[ "$1" == "cmake.c++20.test" ]]; then
206218
-DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \
207219
-DWITH_ASYNC_EXPORT_PREVIEW=ON \
208220
-DCMAKE_CXX_STANDARD=20 \
221+
${IWYU} \
209222
"${SRC_DIR}"
210-
make -j $(nproc)
223+
eval "$MAKE_COMMAND"
211224
make test
212225
exit 0
213226
elif [[ "$1" == "cmake.c++20.stl.test" ]]; then
@@ -219,8 +232,9 @@ elif [[ "$1" == "cmake.c++20.stl.test" ]]; then
219232
-DCMAKE_CXX_FLAGS="-Werror $CXXFLAGS" \
220233
-DWITH_ASYNC_EXPORT_PREVIEW=ON \
221234
-DWITH_STL=ON \
235+
${IWYU} \
222236
"${SRC_DIR}"
223-
make -j $(nproc)
237+
eval "$MAKE_COMMAND"
224238
make test
225239
exit 0
226240
elif [[ "$1" == "cmake.legacy.test" ]]; then

ci/setup_ci_environment.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ apt-get install --no-install-recommends --no-install-suggests -y \
1111
wget \
1212
git \
1313
valgrind \
14-
lcov
14+
lcov \
15+
iwyu

0 commit comments

Comments
 (0)