Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-61823

QtWebEngine fails to build with Vulkan SDK installed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.10.0 Alpha
    • 5.10
    • WebEngine
    • None
    • 03bb4fe6b1910603b5cca1a8f9b2e761ac8299a0

    Description

      The Gn generator generates include_dirs like this: http://code.qt.io/cgit/qt/qtwebengine.git/tree/mkspecs/features/gn_generator.prf?h=dev#n177

      Starting with Qt 5.10, INCLUDEPATH can also contain things like $(VULKAN_SDK)/include which means the value of the VULKAN_SDK environment variable is picked up and substituted at some point by qmake.

      In case of the Gn generator script, this does not happen whe evaluating $$path, resulting in for example this:

        include_dirs += [
          "C:/work/qtwebengine/src/core",
          "C:/work/qtwebengine/src/core/api",
          "C:/work/qtbase/include",
          "C:/work/qtbase/include/QtQuick",
          "C:/work/qtbase/include/QtGui",
          "C:/work/qtbase/include/QtWebChannel",
          "C:/work/qtbase/include/QtQml",
          "C:/work/qtbase/include/QtNetwork",
          "C:/work/qtbase/include/QtCore",
          "C:/work/qtbase/include/QtQuick/5.10.0",
          "C:/work/qtbase/include/QtQuick/5.10.0/QtQuick",
          "C:/work/qtbase/include/QtGui/5.10.0",
          "C:/work/qtbase/include/QtGui/5.10.0/QtGui",
          "C:/work/qtbase/include/QtQml/5.10.0",
          "C:/work/qtbase/include/QtQml/5.10.0/QtQml",
          "C:/work/qtbase/include/QtCore/5.10.0",
          "C:/work/qtbase/include/QtCore/5.10.0/QtCore",
          "C:/work/qtbase/include/QtWebEngineCore",
          "C:/work/qtbase/include/QtWebEngineCore/5.10.0",
          "C:/work/qtbase/include/QtWebEngineCore/5.10.0/QtWebEngineCore",
          "C:/work/qtwebengine/src/core/Debug_x64/.moc/debug",
          "$(VULKAN_SDK)\include",
          "$(VULKAN_SDK)\include",
          rebase_path("$target_gen_dir/.moc/")
        ]
      

      This means QtWebEngine will not build on any Windows system that has the Vulkan SDK installed.

      We are in the process of changing some CI configs to include the Vulkan SDK for dev (5.10), but this cannot go through until qtwebengine fails to build. See https://codereview.qt-project.org/#/c/197990/ and QTQAINFRA-1186.

      I tried to get the variable substitution to work but failed miserably. Something like

      for (path, INCLUDEPATH): message($$path)
      

      works as expected, but

      for (path, INCLUDEPATH): GN_CONTENTS += "    \"$$path\","
      

      does not.

      Note: this has nothing to do with the actual Vulkan support of Chromium. We do not care about that at this point.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              alexandru.croitor Alexandru Croitor
              lagocs Laszlo Agocs
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes