aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2023-02-18 08:53:59 +0000
committerSimon Tatham <anakin@pobox.com>2023-02-18 08:55:13 +0000
commitb591bbdb5f1588f34bb07729057101d4f8b6907a (patch)
tree605ed47458b579d4a48a9abf6845ec4c28bfeece
parent873d613dd597f550b1b64946c4577b012d61d1c9 (diff)
downloadpuzzles-b591bbdb5f1588f34bb07729057101d4f8b6907a.zip
puzzles-b591bbdb5f1588f34bb07729057101d4f8b6907a.tar.gz
puzzles-b591bbdb5f1588f34bb07729057101d4f8b6907a.tar.bz2
puzzles-b591bbdb5f1588f34bb07729057101d4f8b6907a.tar.xz
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.
-rw-r--r--Buildscr15
1 files changed, 14 insertions, 1 deletions
diff --git a/Buildscr b/Buildscr
index 8723bb1..68bdf27 100644
--- a/Buildscr
+++ b/Buildscr
@@ -3,7 +3,7 @@
#
# You can cut out large components of the build by defining a subset
# of these options on the bob command line:
-# -DNOSIGN -DNOWINDOWS -DNOMACOS -DNOICONS -DNOJAVA -DNOJS
+# -DNOTEST -DNOSIGN -DNOWINDOWS -DNOMACOS -DNOICONS -DNOJAVA -DNOJS
module puzzles
@@ -41,6 +41,19 @@ ifneq "$(NOICONS)" yes then
in . do cp build-icons/icons/*-icon.c puzzles/icons
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
# fill up the build directory with extra files.
delegate -