CMake: add SYSTEM_INCLUDE_DIRECTORIES to qt_internal_extend_target

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 <joerg.bornemann@qt.io>
This commit is contained in:
Thiago Macieira 2022-11-21 17:55:13 -08:00
parent 645cae16ed
commit 9cc0fc385e
5 changed files with 9 additions and 0 deletions

View File

@ -102,6 +102,8 @@ function(qt_internal_add_cmake_library target)
SOURCES ${arg_SOURCES} SOURCES ${arg_SOURCES}
INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES
${arg_INCLUDE_DIRECTORIES} ${arg_INCLUDE_DIRECTORIES}
SYSTEM_INCLUDE_DIRECTORIES
${arg_SYSTEM_INCLUDE_DIRECTORIES}
PUBLIC_INCLUDE_DIRECTORIES PUBLIC_INCLUDE_DIRECTORIES
${arg_PUBLIC_INCLUDE_DIRECTORIES} ${arg_PUBLIC_INCLUDE_DIRECTORIES}
PUBLIC_DEFINES PUBLIC_DEFINES

View File

@ -442,6 +442,7 @@ set(__default_private_args
SOURCES SOURCES
LIBRARIES LIBRARIES
INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES
SYSTEM_INCLUDE_DIRECTORIES
DEFINES DEFINES
DBUS_ADAPTOR_BASENAME DBUS_ADAPTOR_BASENAME
DBUS_ADAPTOR_FLAGS DBUS_ADAPTOR_FLAGS

View File

@ -620,6 +620,8 @@ function(qt_internal_add_module target)
${arg_EXTERNAL_HEADERS} ${arg_EXTERNAL_HEADERS}
INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES
${private_includes} ${private_includes}
SYSTEM_INCLUDE_DIRECTORIES
${arg_SYSTEM_INCLUDE_DIRECTORIES}
PUBLIC_INCLUDE_DIRECTORIES PUBLIC_INCLUDE_DIRECTORIES
${public_includes} ${public_includes}
PUBLIC_DEFINES PUBLIC_DEFINES

View File

@ -324,6 +324,8 @@ function(qt_internal_add_plugin target)
SOURCES ${arg_SOURCES} SOURCES ${arg_SOURCES}
INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES
${private_includes} ${private_includes}
SYSTEM_INCLUDE_DIRECTORIES
${arg_SYSTEM_INCLUDE_DIRECTORIES}
PUBLIC_INCLUDE_DIRECTORIES PUBLIC_INCLUDE_DIRECTORIES
${public_includes} ${public_includes}
LIBRARIES ${arg_LIBRARIES} Qt::PlatformPluginInternal LIBRARIES ${arg_LIBRARIES} Qt::PlatformPluginInternal

View File

@ -132,6 +132,8 @@ function(qt_internal_extend_target target)
target_include_directories("${target}" target_include_directories("${target}"
${public_visibility_option} ${arg_PUBLIC_INCLUDE_DIRECTORIES} ${public_visibility_option} ${arg_PUBLIC_INCLUDE_DIRECTORIES}
${private_visibility_option} ${arg_INCLUDE_DIRECTORIES}) ${private_visibility_option} ${arg_INCLUDE_DIRECTORIES})
target_include_directories("${target}" SYSTEM
${private_visibility_option} ${arg_SYSTEM_INCLUDE_DIRECTORIES})
target_compile_definitions("${target}" target_compile_definitions("${target}"
${public_visibility_option} ${arg_PUBLIC_DEFINES} ${public_visibility_option} ${arg_PUBLIC_DEFINES}
${private_visibility_option} ${arg_DEFINES}) ${private_visibility_option} ${arg_DEFINES})