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

Scan through and port all defines, compile and link flags from mkspecs/foo/bar.conf files to relevant Qt::Platform or Qt::PlatformCommonInternal targets

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • None
    • 6.0.0
    • Build System: CMake

    Description

      For example

      mkspecs/common/g++-win32.conf #  (MinGW)
      

      contains various

      DEFINES, QMAKE_COMPILER_DEFINES, QMAKE_LFLAGS_EXCEPTIONS_ON 
      

      etc flags which might not be ported to CMake, which leads to different compilation flags when building with CMake.

      I think the easiest would be to pick some .cpp file in Gui like image\qpixmapcache.cpp, and compare the compile and linker flags between a qmake and equivalent CMake platform configuration

      Add the appropriate missing definition flags to QT_DEFAULT_PLATFORM_DEFINITIONS in QtBuild.cmake.
      Afaik these are public mkspec flags which are used also when compiling user code (customer code that uses Qt).
      Public mkspec compile and link flags can be set on the Platform target in cmake/QtBaseGlobalTargets.cmake.

      There might also be some missing flags that come from private qmake files like qt_module.prf, qt_common.prf, qt_plugin.prf, etc

      The equivalent CMake targets are PlatformCommonInternal / PlatformModuleInternal / PlatformPluginInternal / PlatformToolInternal in cmake/QtInternalTargets.cmake.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-83929
          # Subject Branch Project Status CR V

          Activity

            People

              alexandru.croitor Alexandru Croitor
              alexandru.croitor Alexandru Croitor
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: