From 47667772c7a4f1205cbe55412885de7c64410fea Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Thu, 24 Feb 2022 14:53:36 +0100 Subject: [PATCH] CMake: Enable higher compiler warnings for building Qt Creator The functionality comes from Qt6 and will be enabled only for Qt6 builds. /w3 level for MSVC, -Wall -Wextra for the rest of compilers. Change-Id: Ib62a27e50ce37a6a860ba2bfa1bdb80a7ae60ace Reviewed-by: Christian Kandeler Reviewed-by: Reviewed-by: Eike Ziller --- CMakeLists.txt | 6 +++++- cmake/QtCreatorAPI.cmake | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 187fccd493c..4da4284a495 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,10 +68,14 @@ if (Qt5_VERSION VERSION_LESS 6.0.0) endif() if (CMAKE_CXX_COMPILER_ID STREQUAL GNU) add_compile_options(-Wno-missing-field-initializers) -endif() + endif() else() # Common intermediate directory for QML modules which are defined via qt_add_qml_module() set(QT_QML_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/qml_modules") + + # This includes the code that will enable higher compiler warnings level (/W3 for MSVC, -Wall -Wextra for GCC) + # This is controlled by QT_COMPILE_OPTIONS_DISABLE_WARNINGS target property. + include(QtCompilerFlags) endif() find_package(Qt5 COMPONENTS LinguistTools QUIET) find_package(Qt5 COMPONENTS Quick QuickWidgets Designer DesignerComponents Help SerialPort Svg Tools QUIET) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 3a056ee7844..c4f8d1f0a6c 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -233,6 +233,7 @@ function(add_qtc_library name) RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${_DESTINATION}" LIBRARY_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_PATH}" ARCHIVE_OUTPUT_DIRECTORY "${_output_binary_dir}/${IDE_LIBRARY_ARCHIVE_PATH}" + QT_COMPILE_OPTIONS_DISABLE_WARNINGS OFF ${_arg_PROPERTIES} ) @@ -485,6 +486,7 @@ function(add_qtc_plugin target_name) RUNTIME_OUTPUT_DIRECTORY "${_output_binary_dir}/${plugin_dir}" OUTPUT_NAME "${name}" QT_SKIP_TRANSLATION "${skip_translation}" + QT_COMPILE_OPTIONS_DISABLE_WARNINGS OFF ${_arg_PROPERTIES} ) @@ -667,6 +669,7 @@ function(add_qtc_executable name) CXX_EXTENSIONS OFF CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON + QT_COMPILE_OPTIONS_DISABLE_WARNINGS OFF ${_arg_PROPERTIES} ) if (NOT _arg_SKIP_PCH)