From 70ec5a2c10933921228eb0896abfd1ee4270f1f1 Mon Sep 17 00:00:00 2001 From: Soeren Peters <peters.soeren@gmx.net> Date: Fri, 12 Feb 2021 13:46:32 +0100 Subject: [PATCH] As all warnings from VirtualFluidsCPU might be removed, we added a new CI job wich only builds VirtualFluidsCPU and treats all warnings as errors. --- .gitlab-ci.yml | 31 ++++++++++++++++++++++++++++ CMake/compilerflags/AppleClang.cmake | 4 ++++ CMake/compilerflags/Clang.cmake | 4 ++++ CMake/compilerflags/GNU.cmake | 4 ++++ CMakeLists.txt | 1 + 5 files changed, 44 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2491deed6..c2f2659e1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -99,6 +99,37 @@ gcc_9_rebuild: paths: - $CI_PROJECT_DIR/cache + +############################################################################### +gcc_9_cpu_warning_like_errors: + stage: build + + image: irmb/virtualfluids-deps-ubuntu20.04 + + tags: + - gpu + - linux + + before_script: + - export CCACHE_BASEDIR=$CI_PROJECT_DIR + - export CCACHE_DIR=$CI_PROJECT_DIR/cache + - ccache -s + + script: + - mkdir -p $CI_PROJECT_DIR/build + - cd $CI_PROJECT_DIR/build + - rm -r -f ./* + - cmake .. + --preset=cpu_make_ccache + -DBUILD_WARNINGS_AS_ERRORS=ON + - make -j4 + - ccache -s + + cache: + key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" + paths: + - $CI_PROJECT_DIR/cache + ############################################################################### msvc_16: stage: build diff --git a/CMake/compilerflags/AppleClang.cmake b/CMake/compilerflags/AppleClang.cmake index 18539a52b..c7130e5f4 100644 --- a/CMake/compilerflags/AppleClang.cmake +++ b/CMake/compilerflags/AppleClang.cmake @@ -19,6 +19,10 @@ list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wextra") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pedantic") +if(BUILD_WARNINGS_AS_ERRORS) + list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS -Werror) +endif() + list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-parameter") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder") diff --git a/CMake/compilerflags/Clang.cmake b/CMake/compilerflags/Clang.cmake index 3ece7349b..9a3de6c56 100644 --- a/CMake/compilerflags/Clang.cmake +++ b/CMake/compilerflags/Clang.cmake @@ -20,6 +20,10 @@ list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wextra") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pedantic") +if(BUILD_WARNINGS_AS_ERRORS) + list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS -Werror) +endif() + list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-parameter") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder-ctor") diff --git a/CMake/compilerflags/GNU.cmake b/CMake/compilerflags/GNU.cmake index a196d5d0b..2953598d5 100644 --- a/CMake/compilerflags/GNU.cmake +++ b/CMake/compilerflags/GNU.cmake @@ -29,6 +29,10 @@ list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wextra") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pedantic") +if(BUILD_WARNINGS_AS_ERRORS) + list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS -Werror) +endif() + list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-parameter") list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder") diff --git a/CMakeLists.txt b/CMakeLists.txt index cda26a182..8d7437689 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,6 +51,7 @@ option(BUILD_VF_CPPCHECK "Add cppcheck to the targets" OFF) option(BUILD_VF_COVERAGE "Add the -coverage compiler flag." OFF) option(BUILD_SHARED_LIBS "" OFF) +option(BUILD_WARNINGS_AS_ERRORS "" OFF) # windows: use multi-threaded dynamically-linked runtime library if(BUILD_SHARED_LIBS) -- GitLab