shithub: puzzles

Download patch

ref: 3a3e491a8bc624eb1c3b34e54ebee8d33942add2
parent: 0186d78da9e83103eb80b3814d4de8031f29232f
author: Ben Harris <bjh21@bjh21.me.uk>
date: Thu Feb 16 16:31:47 EST 2023

Enable -Wmissing-declarations in STRICT mode on GCC

Clang's -Wmissing-declarations means something quite different, so we
only enable it on GCC.  This is slightly silly since Clang's
-Wmissing-declarations is enabled by default, but it makes it clear that
we know they're different.

--- a/cmake/platforms/unix.cmake
+++ b/cmake/platforms/unix.cmake
@@ -57,6 +57,11 @@
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wwrite-strings -std=c99 -pedantic -Werror")
 endif()
 
+if(STRICT AND (CMAKE_C_COMPILER_ID MATCHES "GNU"))
+  # -Wmissing-declarations means completely different things in GCC and Clang.
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations")
+endif()
+
 add_compile_definitions(HELP_DIR="${CMAKE_INSTALL_PREFIX}/share/sgt-puzzles/help")
 
 function(get_platform_puzzle_extra_source_files OUTVAR NAME)