diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2491deed6600e90b3754b597e03f9fdb3dd2fea1..c2f2659e1e26fe5c06409bae7638f9dd71e61080 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 18539a52b35d798c7d98affa283bd43f360ff3bf..c7130e5f40fa61a6011c8009b094611ed7f07ed0 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 3ece7349bc76d6f01599301578b2b3006756b886..9a3de6c56007c26cb90ede287dc6b4fdfa9e2124 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 a196d5d0be1343767f8fe900147b4447e5c547d3..2953598d5ff80afa96e04dfe56b021aed8690534 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 cda26a182f11232d2ae72eb82bd99275c3cc5e15..8d743768918b108fcb5d68b6df89f01867c41c0c 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)