Parcourir la source

Merge topic 'qt4-include-as-system'

691ac05 Qt4: Add SYSTEM option to include_directories.
David Cole il y a 13 ans
Parent
commit
7b910c0066
2 fichiers modifiés avec 14 ajouts et 2 suppressions
  1. 4 0
      Modules/FindQt4.cmake
  2. 10 2
      Modules/UseQt4.cmake

+ 4 - 0
Modules/FindQt4.cmake

@@ -65,6 +65,10 @@
 #       is much more flexible, but requires that FindQt4.cmake is executed before
 #       such an exported dependency file is processed.
 #
+#  QT_INCLUDE_DIRS_NO_SYSTEM
+#        If this variable is set to TRUE, the Qt include directories
+#        in the QT_USE_FILE will NOT have the SYSTEM keyword set.
+#
 # There are also some files that need processing by some Qt tools such as moc
 # and uic.  Listed below are macros that may be used to process those files.
 #

+ 10 - 2
Modules/UseQt4.cmake

@@ -25,7 +25,11 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
   set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS QT_NO_DEBUG)
 endif()
 
-include_directories(${QT_INCLUDE_DIR})
+if(QT_INCLUDE_DIRS_NO_SYSTEM)
+  include_directories(${QT_INCLUDE_DIR})
+else(QT_INCLUDE_DIRS_NO_SYSTEM)
+  include_directories(SYSTEM ${QT_INCLUDE_DIR})
+endif(QT_INCLUDE_DIRS_NO_SYSTEM)
 
 set(QT_LIBRARIES "")
 set(QT_LIBRARIES_PLUGINS "")
@@ -89,7 +93,11 @@ foreach(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN
       if(QT_USE_${module})
         string(REPLACE "QT" "" qt_module_def "${module}")
         add_definitions(-DQT_${qt_module_def}_LIB)
-        include_directories(${QT_${module}_INCLUDE_DIR})
+        if(QT_INCLUDE_DIRS_NO_SYSTEM)
+          include_directories(${QT_${module}_INCLUDE_DIR})
+        else(QT_INCLUDE_DIRS_NO_SYSTEM)
+          include_directories(SYSTEM ${QT_${module}_INCLUDE_DIR})
+        endif(QT_INCLUDE_DIRS_NO_SYSTEM)
       endif()
       set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIBRARY})
       set(QT_LIBRARIES_PLUGINS ${QT_LIBRARIES_PLUGINS} ${QT_${module}_PLUGINS})