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

[REG 5.13->5.14]QMake generated makefile no more use config subfolder

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P1: Critical P1: Critical
    • None
    • 5.14.0
    • Build tools: qmake
    • None
    • Windows 10, mingw 7.3 64 bits
    • Windows

      When generating the .pro qmake config from command line for automated sequence (Jenkins in my case), the resulting Makefile name is different and the build folder is different starting at 5.14.0 under Windows and mingw. Qt 5.9 (maybe even sooner, not tested) to 5.13.2 behave the same. Here is the difference:

      Differences

      qmake UnitTests.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"

      5.13.2- generate: Makefile.debug

      5.14.0+ generate: Makefile

       

       

      mingw32-make -f Makefile.Debug
      or for 5.14.0
      mingw32-make -f Makefile

      give the following command:

      g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -W -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DMODULE_AMOTUS_CPP -DMODULE_AMOTUS_QT -DMODULE_AMOTUS_I18N -DMODULE_AMOTUS_QT_FILESYSTEM -DMODULE_AMOTUS_QT_COMMANDS -DMODULE_AMOTUS_QT_LOGGER -DMODULE_UNIT_TESTS_AMOTUS_QT -DQT_QML_DEBUG -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_BLUETOOTH_LIB -DQT_XML_LIB -DQT_POSITIONING_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR="\"C:/Jenkins/workspace/Amotus/Qt UnitTests/Amotus_Qt_UnitTests\"" -I. -I..\QtUnitTestsReposToTest\Amotus_C\Include -I..\QtUnitTestsReposToTest\Amotus_C\UnitTests -I..\QtUnitTestsReposToTest\Amotus_CPP -I..\QtUnitTestsReposToTest\Amotus_CPP\UnitTests -I..\QtUnitTestsReposToTest\Amotus_Qt -I..\QtUnitTestsReposToTest\Amotus_Qt\FileSystem -I..\QtUnitTestsReposToTest\Amotus_Qt\Commands -I..\QtUnitTestsReposToTest\Amotus_Qt\Logger -I..\QtUnitTestsReposToTest\Amotus_Qt\UnitTests -IC:\Qt\5.13.2\mingw73_64\include -IC:\Qt\5.13.2\mingw73_64\include\QtQuickControls2 -IC:\Qt\5.13.2\mingw73_64\include\QtQuick -IC:\Qt\5.13.2\mingw73_64\include\QtGui -IC:\Qt\5.13.2\mingw73_64\include\QtANGLE -IC:\Qt\5.13.2\mingw73_64\include\QtTest -IC:\Qt\5.13.2\mingw73_64\include\QtQml -IC:\Qt\5.13.2\mingw73_64\include\QtNetwork -IC:\Qt\5.13.2\mingw73_64\include\QtBluetooth -IC:\Qt\5.13.2\mingw73_64\include\QtXml -IC:\Qt\5.13.2\mingw73_64\include\QtPositioning -IC:\Qt\5.13.2\mingw73_64\include\QtCore -Idebug -I/include -IC:\Qt\5.13.2\mingw73_64\mkspecs\win32-g++  -o debug\main.o main.cpp
      

      or for 5.14.0

      g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DMODULE_AMOTUS_CPP -DMODULE_AMOTUS_QT -DMODULE_AMOTUS_I18N -DMODULE_AMOTUS_QT_FILESYSTEM -DMODULE_AMOTUS_QT_COMMANDS -DMODULE_AMOTUS_QT_LOGGER -DMODULE_UNIT_TESTS_AMOTUS_QT -DQT_QML_DEBUG -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_TESTLIB_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_BLUETOOTH_LIB -DQT_XML_LIB -DQT_POSITIONING_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR="\"C:/Jenkins/workspace/Amotus/Qt UnitTests/Amotus_Qt_UnitTests\"" -I. -I..\QtUnitTestsReposToTest\Amotus_C\Include -I..\QtUnitTestsReposToTest\Amotus_C\UnitTests -I..\QtUnitTestsReposToTest\Amotus_CPP -I..\QtUnitTestsReposToTest\Amotus_CPP\UnitTests -I..\QtUnitTestsReposToTest\Amotus_Qt -I..\QtUnitTestsReposToTest\Amotus_Qt\FileSystem -I..\QtUnitTestsReposToTest\Amotus_Qt\Commands -I..\QtUnitTestsReposToTest\Amotus_Qt\Logger -I..\QtUnitTestsReposToTest\Amotus_Qt\UnitTests -IC:\Qt\5.14.0\mingw73_64\include -IC:\Qt\5.14.0\mingw73_64\include\QtQuickControls2 -IC:\Qt\5.14.0\mingw73_64\include\QtQuick -IC:\Qt\5.14.0\mingw73_64\include\QtGui -IC:\Qt\5.14.0\mingw73_64\include\QtANGLE -IC:\Qt\5.14.0\mingw73_64\include\QtTest -IC:\Qt\5.14.0\mingw73_64\include\QtQmlModels -IC:\Qt\5.14.0\mingw73_64\include\QtQml -IC:\Qt\5.14.0\mingw73_64\include\QtNetwork -IC:\Qt\5.14.0\mingw73_64\include\QtBluetooth -IC:\Qt\5.14.0\mingw73_64\include\QtXml -IC:\Qt\5.14.0\mingw73_64\include\QtPositioning -IC:\Qt\5.14.0\mingw73_64\include\QtCore -I. -I/include -IC:\Qt\5.14.0\mingw73_64\mkspecs\win32-g++  -o main.o main.cpp
      

      I have attach a visual diff, double -Wextra, the second replace the -W, seem ok, added QtQmlModels, the incldue path now is . vs debug and the output is main.o instead of debug\main.o

      Now all the build object are into the project folder and the output doesn't match previous behavior. There is probably an argument to specify this to qmake I hope that will give me back the same beahvior as before.

      I also attached the generated makefiles.

        1. diff_compile_command.png
          146 kB
          Jerome Godbout
        2. QtMakeFile.zip
          70 kB
          Jerome Godbout
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtbuildsystem Qt Build System Team
            jeromegodboutamotus Jerome Godbout
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes