diff --git a/CMakeLists.txt b/CMakeLists.txt index a9859ed75f8a72d5d53cbe3bb25cf663098cf271..081aa6768df0c75742517c629fe7e3a2257e07ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,14 +14,7 @@ configure_file(config.h.in config.h) # guard from super-projects, i.e. when it is added as subdirectory IF(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) - # Remove existing -Wall in debug flags because we unconditionally supply - # -Wall and we don't want a trailing -Wall re-enable the silenced - # warnings - string(REPLACE "-Wall" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-missing-braces") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-missing-braces") add_subdirectory(libixxx) add_subdirectory(libixxxutil) diff --git a/ci/docker/build.sh b/ci/docker/build.sh index e4e015b467266016286325067cc2383fce7fe361..dfb72258d71b5edcfd41e46d18693542a08c2682 100755 --- a/ci/docker/build.sh +++ b/ci/docker/build.sh @@ -2,6 +2,33 @@ set -ex +CFLAGS="-Wall -Wextra -Wno-missing-field-initializers \ + -Wno-parentheses -Wno-missing-braces \ + -Wmissing-prototypes -Wfloat-equal \ + -Wwrite-strings -Wpointer-arith -Wcast-align \ + -Wnull-dereference \ + -Werror=multichar -Werror=sizeof-pointer-memaccess -Werror=return-type \ + -fstrict-aliasing" +if [ "$CMAKE_BUILD_TYPE" = Release ]; then + CFLAGS="-Og $CFLAGS" +fi +export CFLAGS + +CXXFLAGS="-Wall -Wextra -Wno-missing-field-initializers \ + -Wno-parentheses -Wno-missing-braces \ + -Wno-unused-local-typedefs \ + -Wfloat-equal \ + -Wpointer-arith -Wcast-align \ + -Wnull-dereference \ + -Wnon-virtual-dtor -Wmissing-declarations \ + -Werror=multichar -Werror=sizeof-pointer-memaccess -Werror=return-type \ + -Werror=delete-non-virtual-dtor \ + -fstrict-aliasing" +if [ "$CMAKE_BUILD_TYPE" = Release ]; then + CXXFLAGS="-Og $CXXFLAGS" +fi +export CXXFLAGS + cd /srv/build cmake -G Ninja -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" /srv/src