aboutsummaryrefslogtreecommitdiff
path: root/Buildscr
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 /Buildscr
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.
Diffstat (limited to 'Buildscr')
-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 -