Browse Source

Merge topic 'cmake-gui-static-xcb'

73a3c0cd cmake-gui: Add build option to use Qt5 xcb plugin statically
Brad King 9 years ago
parent
commit
6e55605db1
2 changed files with 11 additions and 0 deletions
  1. 6 0
      Source/QtDialog/CMakeLists.txt
  2. 5 0
      Source/QtDialog/CMakeSetup.cxx

+ 6 - 0
Source/QtDialog/CMakeLists.txt

@@ -36,6 +36,12 @@ if (Qt5Widgets_FOUND)
 
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
 
+  if(CMake_QT_STATIC_QXcbIntegrationPlugin_LIBRARIES)
+    list(APPEND CMake_QT_LIBRARIES ${CMake_QT_STATIC_QXcbIntegrationPlugin_LIBRARIES})
+    set_property(SOURCE CMakeSetup.cxx
+      PROPERTY COMPILE_DEFINITIONS USE_QXcbIntegrationPlugin)
+  endif()
+
   # We need to install platform plugin and add qt.conf for Qt5 on Mac and Windows.
   # FIXME: This should be part of Qt5 CMake scripts, but unfortunatelly
   # Qt5 support is missing there.

+ 5 - 0
Source/QtDialog/CMakeSetup.cxx

@@ -20,6 +20,7 @@
 #include <QDir>
 #include <QLocale>
 #include <QString>
+#include <QtPlugin>
 #include <QTextCodec>
 #include <QTranslator>
 #include <cmsys/CommandLineArguments.hxx>
@@ -44,6 +45,10 @@ static int cmOSXInstall(std::string dir);
 static void cmAddPluginPath();
 #endif
 
+#if defined(USE_QXcbIntegrationPlugin)
+Q_IMPORT_PLUGIN(QXcbIntegrationPlugin);
+#endif
+
 int main(int argc, char** argv)
 {
   cmsys::Encoding::CommandLineArguments encoding_args =