Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-19153

Qmake runs at every build where MAKEFILE variable is set

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P3: Somewhat important
    • None
    • Qt Creator 4.4.1

    Description

       

      Hello,

      I have two subdirs projects in a directory : LibsCore.pro and LibsCoreAndGui.pro.
      My setup is that every program to build in qtcreator depends on one of these two .pro.
      The aim is to build the exe and its dependances easily.

      2 .pro in the same directory <=> conflict : the Makefiles have the same name.
      So, we added the variable MAKEFILE to the .pro, to choose the MAKEFILE name.

      Ex LibsCore.pro :

      TEMPLATE = subdirs
      
      MAKEFILE = $${_PRO_FILE_PWD_}/MakefileLibsCore
      
      SUBDIRS = \
       myproject_sql \
       myproject_trace \
      
      myproject_sql.subdir = lib/myproject_sql
      myproject_trace.subdir = lib/myproject_trace
      
      CONFIG += ordered
      

       

      This, works well in theory, but QtCreator has a strange behaviour :

      • When there is no MAKEFILE variable, it runs qmake once, then builds every time I ask to build the project
      • When the MAKEFILE variable is set, it runs qmake every time I ask to build the project

      QMake being pretty slow, it adds 1-2 minutes to every project build

      Build output with MAKEFILE :

          cd lib\myproject_sql\ && C:\Qt\Qt5.6.0\5.6\msvc2015\bin\qmake.exe D:\Projets\MSesame_Trunk2\SourceQt\lib\myproject_sql\myproject_sql.pro -spec win32-msvc2005 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile
          cd lib\myproject_sql\ && C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile qmake_all
          cd lib\myproject_trace\ && C:\Qt\Qt5.6.0\5.6\msvc2015\bin\qmake.exe D:\Projets\MSesame_Trunk2\SourceQt\lib\myproject_trace\myproject_trace.pro -spec win32-msvc2005 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile
          cd lib\myproject_trace\ && C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile qmake_all
      17:17:20: Le processus "C:\Qt\qtcreator-4.4.1\bin\jom.exe" s'est terminé normalement.
      17:17:20: Débute : "C:\Qt\qtcreator-4.4.1\bin\jom.exe" -f D:/Projets/MSesame_Trunk2/SourceQt/MakefileLibsCore
          cd lib\myproject_sql\ && ( if not exist Makefile C:\Qt\Qt5.6.0\5.6\msvc2015\bin\qmake.exe D:\Projets\MSesame_Trunk2\SourceQt\lib\myproject_sql\myproject_sql.pro -spec win32-msvc2005 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ) && C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile
          C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile.Debug
          cd lib\myproject_trace\ && ( if not exist Makefile C:\Qt\Qt5.6.0\5.6\msvc2015\bin\qmake.exe D:\Projets\MSesame_Trunk2\SourceQt\lib\myproject_trace\myproject_trace.pro -spec win32-msvc2005 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ) && C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile
          C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile.Debug
      17:17:22: Le processus "C:\Qt\qtcreator-4.4.1\bin\jom.exe" s'est terminé normalement.
      17:17:22: Temps écoulé : 00:07.

      Build output without MAKEFILE :

      17:23:07: Exécution des étapes pour le projet libs_core...
      17:23:07: Configuration inchangée, étape qmake sautée.
      17:23:07: Débute : "C:\Qt\qtcreator-4.4.1\bin\jom.exe"
          cd lib\myproject_sql\ && ( if not exist Makefile C:\Qt\Qt5.6.0\5.6\msvc2015\bin\qmake.exe D:\Projets\MSesame_Trunk2\SourceQt\lib\myproject_sql\myproject_sql.pro -spec win32-msvc2005 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ) && C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile
          C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile.Debug
          cd lib\myproject_trace\ && ( if not exist Makefile C:\Qt\Qt5.6.0\5.6\msvc2015\bin\qmake.exe D:\Projets\MSesame_Trunk2\SourceQt\lib\myproject_trace\myproject_trace.pro -spec win32-msvc2005 "CONFIG+=debug" "CONFIG+=qml_debug" -o Makefile ) && C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile
          C:\Qt\qtcreator-4.4.1\bin\jom.exe -f Makefile.Debug
      17:23:08: Le processus "C:\Qt\qtcreator-4.4.1\bin\jom.exe" s'est terminé normalement.
      17:23:08: Temps écoulé : 00:02.

      This slowness also exists with regular project files (not subdirs).
      Can you do something about this ?

      Thx

      Attachments

        Issue Links

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

          Activity

            People

              kandeler Christian Kandeler
              n.moreaud Nicolas Moreaud
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes