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

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

    XMLWordPrintable

Details

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

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: