From 9cc0fc385ea97bbe6d5f4489cd26ba1c21762b10 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 21 Nov 2022 17:55:13 -0800 Subject: [PATCH] CMake: add SYSTEM_INCLUDE_DIRECTORIES to qt_internal_extend_target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows one to add an extra set of directories to the build, but let the compiler know that they are system paths (that is, the compiler should refrain from emitting warnings in code found there). This extends INCLUDE_DIRECTORIES and is by necessity a private include set. Will be used by qtquick3dphysics, due to its PhysX dependency. Change-Id: I76216ced393445a4ae2dfffd1729c556db0cce3d Reviewed-by: Jörg Bornemann --- cmake/Qt3rdPartyLibraryHelpers.cmake | 2 ++ cmake/QtBuild.cmake | 1 + cmake/QtModuleHelpers.cmake | 2 ++ cmake/QtPluginHelpers.cmake | 2 ++ cmake/QtTargetHelpers.cmake | 2 ++ 5 files changed, 9 insertions(+) diff --git a/cmake/Qt3rdPartyLibraryHelpers.cmake b/cmake/Qt3rdPartyLibraryHelpers.cmake index a118997bcf1..1bec4db6b9f 100644 --- a/cmake/Qt3rdPartyLibraryHelpers.cmake +++ b/cmake/Qt3rdPartyLibraryHelpers.cmake @@ -102,6 +102,8 @@ function(qt_internal_add_cmake_library target) SOURCES ${arg_SOURCES} INCLUDE_DIRECTORIES ${arg_INCLUDE_DIRECTORIES} + SYSTEM_INCLUDE_DIRECTORIES + ${arg_SYSTEM_INCLUDE_DIRECTORIES} PUBLIC_INCLUDE_DIRECTORIES ${arg_PUBLIC_INCLUDE_DIRECTORIES} PUBLIC_DEFINES diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index 2db677bef84..c916f889133 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -442,6 +442,7 @@ set(__default_private_args SOURCES LIBRARIES INCLUDE_DIRECTORIES + SYSTEM_INCLUDE_DIRECTORIES DEFINES DBUS_ADAPTOR_BASENAME DBUS_ADAPTOR_FLAGS diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index 0e61ecf37f2..d384d126abe 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -620,6 +620,8 @@ function(qt_internal_add_module target) ${arg_EXTERNAL_HEADERS} INCLUDE_DIRECTORIES ${private_includes} + SYSTEM_INCLUDE_DIRECTORIES + ${arg_SYSTEM_INCLUDE_DIRECTORIES} PUBLIC_INCLUDE_DIRECTORIES ${public_includes} PUBLIC_DEFINES diff --git a/cmake/QtPluginHelpers.cmake b/cmake/QtPluginHelpers.cmake index 9b514eb2ee7..112719821f0 100644 --- a/cmake/QtPluginHelpers.cmake +++ b/cmake/QtPluginHelpers.cmake @@ -324,6 +324,8 @@ function(qt_internal_add_plugin target) SOURCES ${arg_SOURCES} INCLUDE_DIRECTORIES ${private_includes} + SYSTEM_INCLUDE_DIRECTORIES + ${arg_SYSTEM_INCLUDE_DIRECTORIES} PUBLIC_INCLUDE_DIRECTORIES ${public_includes} LIBRARIES ${arg_LIBRARIES} Qt::PlatformPluginInternal diff --git a/cmake/QtTargetHelpers.cmake b/cmake/QtTargetHelpers.cmake index 219d2723891..4b0f176b369 100644 --- a/cmake/QtTargetHelpers.cmake +++ b/cmake/QtTargetHelpers.cmake @@ -132,6 +132,8 @@ function(qt_internal_extend_target target) target_include_directories("${target}" ${public_visibility_option} ${arg_PUBLIC_INCLUDE_DIRECTORIES} ${private_visibility_option} ${arg_INCLUDE_DIRECTORIES}) + target_include_directories("${target}" SYSTEM + ${private_visibility_option} ${arg_SYSTEM_INCLUDE_DIRECTORIES}) target_compile_definitions("${target}" ${public_visibility_option} ${arg_PUBLIC_DEFINES} ${private_visibility_option} ${arg_DEFINES})