- 
    Bug 
- 
    Resolution: Fixed
- 
     Not Evaluated Not Evaluated
- 
    Qt Creator 14.0.0
- 
    None
- 
        54d9e8c4d (15.0)
Something I've noticed working with qtdeclarative in Creator is that when I do something like an interactive rebase on a series of patches, hit Build > Build for Run Configuration "<the active auto test>", it will build with, say, 500 steps. So it's compiling a bunch of source files. Then I think that it must be finished so I hit Run. It then proceeds to perform 1500 more build steps involving source files.
I always forget to capture the output before this happens, but here's a less egregious example. After Alt+B, R:
14:43:09: Running steps for project QtDeclarative... 14:43:09: Starting: "/usr/bin/cmake" --build /home/mitch/dev/qt-dev-debug/qtdeclarative --target tst_qquickrectangleshape [1/148 18.4/sec] Running syncqt.cpp for module: QtQuick [2/138 30.2/sec] Running syncqt.cpp for module: QtQuickTestUtils [3/137 45.0/sec] Running syncqt.cpp for module: QtQuickShapes [4/137 54.1/sec] Generating version linker script for target QuickShapesPrivate [5/137 0.5/sec] Automatic MOC for target Quick [6/137 0.6/sec] Running AUTOMOC file extraction for target Quick [7/137 0.7/sec] Running moc --collect-json for target Quick [8/136 0.4/sec] Building CXX object src/quick/CMakeFiles/Quick.dir/items/qquickitemanimation.cpp.o [9/136 0.5/sec] Building CXX object src/quick/CMakeFiles/Quick.dir/handlers/qquickhoverhandler.cpp.o [...] [93/136 1.8/sec] Building CXX object src/quick/CMakeFiles/Quick.dir/quick_qmltyperegistrations.cpp.o [94/136 1.5/sec] Linking CXX shared library /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6Quick.so.6.9.0 [95/136 1.5/sec] Creating library symlink /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6Quick.so.6 /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6Quick.so [96/136 1.4/sec] Automatic MOC for target QuickShapesPrivate [97/136 1.4/sec] Running AUTOMOC file extraction for target QuickShapesPrivate [98/136 1.4/sec] Running moc --collect-json for target QuickShapesPrivate [99/136 1.4/sec] Automatic QML type registration for target QuickShapesPrivate [100/136 1.4/sec] Automatic MOC for target QuickTest [101/135 1.4/sec] Running AUTOMOC file extraction for target QuickTest [102/135 1.5/sec] Running moc --collect-json for target QuickTest [103/125 1.4/sec] Building CXX object src/quickshapes/CMakeFiles/QuickShapesPrivate.dir/quickshapesprivate_qmltyperegistrations.cpp.o [104/125 1.4/sec] Building CXX object src/quickshapes/CMakeFiles/QuickShapesPrivate.dir/QuickShapesPrivate_autogen/mocs_compilation.cpp.o [105/125 1.4/sec] Building CXX object src/quickshapes/CMakeFiles/QuickShapesPrivate.dir/qquickshapesoftwarerenderer.cpp.o [106/125 1.4/sec] Building CXX object src/quickshapes/CMakeFiles/QuickShapesPrivate.dir/qquickrectangleshape.cpp.o [107/125 1.4/sec] Building CXX object src/quickshapes/CMakeFiles/QuickShapesPrivate.dir/qquickshapegenericrenderer.cpp.o [108/125 1.5/sec] Building CXX object src/quickshapes/CMakeFiles/QuickShapesPrivate.dir/qquickshapecurverenderer.cpp.o [109/125 1.5/sec] Building CXX object src/quickshapes/CMakeFiles/QuickShapesPrivate.dir/qquickshape.cpp.o [110/125 1.5/sec] Building CXX object src/qmltest/CMakeFiles/QuickTest.dir/quicktest.cpp.o [111/125 1.5/sec] Linking CXX shared library /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6QuickShapes.so.6.9.0 [112/125 1.5/sec] Creating library symlink /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6QuickShapes.so.6 /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6QuickShapes.so [113/125 1.5/sec] Linking CXX shared library /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6QuickTest.so.6.9.0 [114/125 1.5/sec] Creating library symlink /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6QuickTest.so.6 /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6QuickTest.so [115/125 1.4/sec] Automatic MOC for target QuickTestUtilsPrivate [116/124 1.4/sec] Running AUTOMOC file extraction for target QuickTestUtilsPrivate [117/124 1.4/sec] Running moc --collect-json for target QuickTestUtilsPrivate [118/124 1.4/sec] Building CXX object src/quicktestutils/CMakeFiles/QuickTestUtilsPrivate.dir/quick/visualtestutils.cpp.o [119/124 1.4/sec] Building CXX object src/quicktestutils/CMakeFiles/QuickTestUtilsPrivate.dir/quick/viewtestutils.cpp.o [120/124 1.4/sec] Linking CXX static library /home/mitch/dev/qt-dev-debug/qtbase/lib/libQt6QuickTestUtils.a [121/124 1.3/sec] Automatic MOC for target tst_qquickrectangleshape [122/123 1.2/sec] Building CXX object tests/auto/quick/qquickrectangleshape/CMakeFiles/tst_qquickrectangleshape.dir/tst_qquickrectangleshape.cpp.o [123/123 1.2/sec] Linking CXX executable tests/auto/quick/qquickrectangleshape/tst_qquickrectangleshape 14:44:50: The process "/usr/bin/cmake" exited normally. 14:44:50: Elapsed time: 01:41.
After Ctrl+R (after-ctrl-r.txt) is attached - apparently it's too big to paste.
If I do Ctrl+B first (ctrl-b-first.txt ) followed by Ctrl+R (followed-by-ctrl-r.txt
) followed by Ctrl+R (followed-by-ctrl-r.txt ), it's roughly about the same amount of steps (334 vs 332).
), it's roughly about the same amount of steps (334 vs 332).
Why does it happen though? It would be nice if I could just get everything built at once rather than have to do it in two steps, because I end up doing other work while waiting for it to build (usually it takes much longer than the reproduced examples I used here) and end up wasting time because the "first" build has finished in the meantime.
Eike said:
The default setting for the Run action (actually deploy action) is "Build the Whole Project". Changable in Preferences > Build & Run > General > Build before deploying
You can also assign a shortcut to Build > Run without Deployment or use the mnemonic for that (whatever that is? is there? I'm on macOS) and make a habit using that (I have Ctrl+Cmd+R set for that).
I just tried that but didn't see any difference. Here are the steps I took:
- Changed setting to "Build Only the Application to Be Run".
- Rebased.
- Alt+B, R.
- Ctrl+R.
 Output from Ctrl+R:16:01:07: Running steps for project QtDeclarative... 16:01:07: Starting: "/usr/bin/cmake" --build /home/mitch/dev/qt-dev-debug/qtdeclarative --target all [1/1036 78.9/sec] Running syncqt.cpp for module: QtQuickShapes [...] [224/224 2.7/sec] Linking CXX shared module /home/mitch/dev/qt-dev-debug/qtbase/qml/Qt/test/controls/libquickcontrolstestutilsprivateplugin.so 16:02:32: The process "/usr/bin/cmake" exited normally. 16:02:32: Elapsed time: 01:25. 
Eike said the support for this is missing for CMake:
- relates to
- 
                    QTCREATORBUG-31386 target->run does not build a target -           
- Closed
 
-         
- resulted in
- 
                    QTCREATORBUG-31532 [Android] Failure on project configuration step - missing lib -         
- Closed
 
-         
