ref: b591bbdb5f1588f34bb07729057101d4f8b6907a
parent: 873d613dd597f550b1b64946c4577b012d61d1c9
author: Simon Tatham <anakin@pobox.com>
date: Sat Feb 18 03:53:59 EST 2023
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.
--- 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
@@ -39,6 +39,19 @@
# Copy the C icon files into the icons source subdirectory, for the
# distribution tarball.
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