From 9e60df9f7fab059d63f573f01db06f6c441fa980 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Thu, 7 Sep 2023 10:11:23 +0200 Subject: [PATCH] CMake: Silence warning in third party code Adding SYSTEM_INCLUDE for which you get no warnings. Fix PUBLIC_SYSTEM_INCLUDE to work for all cases where PUBLIC_INLCUDES works. Change-Id: I7059c2879004743c13c368220596081dd054407a Reviewed-by: Eike Ziller Reviewed-by: Qt CI Patch Build Bot --- cmake/QtCreatorAPI.cmake | 8 ++++++-- cmake/QtCreatorAPIInternal.cmake | 3 ++- src/plugins/cmakeprojectmanager/CMakeLists.txt | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index effbb454047..60a47b4fc93 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -124,7 +124,7 @@ endfunction() function(add_qtc_library name) cmake_parse_arguments(_arg "STATIC;OBJECT;SHARED;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;FEATURE_INFO;SKIP_PCH;EXCLUDE_FROM_INSTALL" "DESTINATION;COMPONENT;SOURCES_PREFIX;BUILD_DEFAULT" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN} + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN} ) get_default_defines(default_defines_copy ${_arg_ALLOW_ASCII_CASTS}) @@ -197,7 +197,9 @@ function(add_qtc_library name) SOURCES_PREFIX ${_arg_SOURCES_PREFIX} SOURCES ${_arg_SOURCES} INCLUDES ${_arg_INCLUDES} + SYSTEM_INCLUDES ${_arg_SYTEM_INCLUDES} PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES} + PUBLIC_SYSTEM_INCLUDES ${_arg_PUBLIC_SYSTEM_INCLUDES} DEFINES ${default_defines_copy} ${_arg_DEFINES} ${TEST_DEFINES} PUBLIC_DEFINES ${_arg_PUBLIC_DEFINES} DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS} @@ -321,7 +323,7 @@ function(add_qtc_plugin target_name) cmake_parse_arguments(_arg "SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT;SKIP_PCH" "VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME;BUILD_DEFAULT;PLUGIN_CLASS" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PLUGIN_TEST_DEPENDS;PROPERTIES" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PLUGIN_TEST_DEPENDS;PROPERTIES" ${ARGN} ) @@ -473,7 +475,9 @@ function(add_qtc_plugin target_name) extend_qtc_target(${target_name} INCLUDES ${_arg_INCLUDES} + SYSTEM_INCLUDES ${_arg_SYSTEM_INCLUDES} PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES} + PUBLIC_SYSTEM_INCLUDES ${_arg_PUBLIC_SYSTEM_INCLUDES} DEFINES ${DEFAULT_DEFINES} ${_arg_DEFINES} ${TEST_DEFINES} PUBLIC_DEFINES ${_arg_PUBLIC_DEFINES} DEPENDS ${_arg_DEPENDS} ${_DEP_PLUGINS} ${IMPLICIT_DEPENDS} diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 39735a80c7a..27e64a5a954 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -465,7 +465,7 @@ function(extend_qtc_target target_name) cmake_parse_arguments(_arg "" "SOURCES_PREFIX;SOURCES_PREFIX_FROM_TARGET;FEATURE_INFO" - "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES;SOURCES_PROPERTIES" + "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;SYSTEM_INCLUDES;PUBLIC_INCLUDES;PUBLIC_SYSTEM_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES;SOURCES_PROPERTIES" ${ARGN} ) @@ -506,6 +506,7 @@ function(extend_qtc_target target_name) PUBLIC ${_arg_PUBLIC_DEFINES} ) target_include_directories(${target_name} PRIVATE ${_arg_INCLUDES}) + target_include_directories(${target_name} SYSTEM PRIVATE ${_arg_SYSTEM_INCLUDES}) set_public_includes(${target_name} "${_arg_PUBLIC_INCLUDES}" "") set_public_includes(${target_name} "${_arg_PUBLIC_SYSTEM_INCLUDES}" "SYSTEM") diff --git a/src/plugins/cmakeprojectmanager/CMakeLists.txt b/src/plugins/cmakeprojectmanager/CMakeLists.txt index 057b4139459..3c8b75081f7 100644 --- a/src/plugins/cmakeprojectmanager/CMakeLists.txt +++ b/src/plugins/cmakeprojectmanager/CMakeLists.txt @@ -2,7 +2,7 @@ add_qtc_plugin(CMakeProjectManager PLUGIN_CLASS CMakeProjectPlugin DEPENDS QmlJS PLUGIN_DEPENDS Core CppEditor ProjectExplorer TextEditor QtSupport - INCLUDES 3dparty/cmake + SYSTEM_INCLUDES 3dparty/cmake SOURCES builddirparameters.cpp builddirparameters.h cmake_global.h