ifneq "$(NOICONS)" yes then
# Run enough of a native Unix build to produce the various icons.
- in . do cmake -B build-icons puzzles
+ # This also checks that the build completes in 'strict' mode (with
+ # lots of warnings and -Werror), and triggers a build failure if
+ # not.
+ in . do cmake -B build-icons puzzles -DSTRICT=ON
+ in build-icons do make -j$(nproc)
in build-icons do make -j$(nproc) icons VERBOSE=1
# Copy the C icon files into the icons source subdirectory, for the
set(build_icons TRUE)
-function(try_append_cflag flag)
- set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
- try_compile(compile_passed ${CMAKE_BINARY_DIR}
- SOURCES ${CMAKE_SOURCE_DIR}/cmake/testbuild.c
- OUTPUT_VARIABLE test_compile_output
- CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${GTK_INCLUDE_DIRS}")
- if(compile_passed)
- set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} PARENT_SCOPE)
- endif()
-endfunction()
-if (CMAKE_C_COMPILER_ID MATCHES "GNU" OR
- CMAKE_C_COMPILER_ID MATCHES "Clang")
- try_append_cflag(-Wall)
- try_append_cflag(-Werror)
- try_append_cflag(-std=c89)
- try_append_cflag(-pedantic)
- try_append_cflag(-Wwrite-strings)
+if(DEFINED STRICT AND (CMAKE_C_COMPILER_ID MATCHES "GNU" OR
+ CMAKE_C_COMPILER_ID MATCHES "Clang"))
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wwrite-strings -std=c99 -pedantic -Werror")
endif()
function(get_platform_puzzle_extra_source_files OUTVAR NAME)