Buildscr: include a test build with clang + STRICT.

I've just enabled a warning that only fires in that mode, so we need
to keep running the build in that configuration to ensure further
instances of the warning aren't introduced.
This commit is contained in:
Simon Tatham
2023-02-18 08:53:59 +00:00
parent 873d613dd5
commit b591bbdb5f

View File

@ -3,7 +3,7 @@
# #
# You can cut out large components of the build by defining a subset # You can cut out large components of the build by defining a subset
# of these options on the bob command line: # of these options on the bob command line:
# -DNOSIGN -DNOWINDOWS -DNOMACOS -DNOICONS -DNOJAVA -DNOJS # -DNOTEST -DNOSIGN -DNOWINDOWS -DNOMACOS -DNOICONS -DNOJAVA -DNOJS
module puzzles module puzzles
@ -41,6 +41,19 @@ ifneq "$(NOICONS)" yes then
in . do cp build-icons/icons/*-icon.c puzzles/icons in . do cp build-icons/icons/*-icon.c puzzles/icons
endif endif
ifneq "$(NOTEST)" yes then
# Run tests. In particular, ensure we build in 'strict' mode with
# both gcc and clang.
ifeq "$(NOICONS)" yes then
# We don't need to run the gcc build if we did it above for the icons
in . do cmake -B test-gcc puzzles -DSTRICT=ON
in test-gcc do make -j$(nproc)
endif
in . do cmake -B test-clang puzzles -DSTRICT=ON -DCMAKE_C_COMPILER=clang
in test-clang do make -j$(nproc)
endif
# The very first thing we do is to make the source archive, before we # The very first thing we do is to make the source archive, before we
# fill up the build directory with extra files. # fill up the build directory with extra files.
delegate - delegate -