QtCreator - Need change Release/Debug on all open projects by one click



  • Now entire project includes 12 projects and there will be much more. Core app, some temporary .a libraries and a large number of plugns. I'm already tired change config from debug to release and back when needed. Is there way change config for all open projects by one click?

    QtCreator 2.0.1 used for while but if this exists in new release then I'll change.

    If there is already submitted feature request in JIRA then please point me.



  • As far as I know it is not there. Care to file the request if not there yet?





  • You can also use SUBDIRS .pro file for now to have one project for all of your small subprojects.


  • Moderators

    I am not sure, but possibly the subdirs template might be of help for you.
    I had a similar problem. I wanted to change the tool chain from embedded to host and back.
    "Here is a link to that post":http://developer.qt.nokia.com/forums/viewthread/6394/ in case you like to check.



  • SUBDIRS is not an option if you're using CMake (don't know if that's the case for Gourmand though).



  • Do you mean: if I'll create projects.pro with content like this:

    @TEMPLATE=subdirs

    SUBDIRS += coredir
    libdir \
    plug1dir
    plug2dir@

    then I'll have only change config for this only project and run build for it?

    But what will happen if I have a number of open projects and this projects.pro then just click to Build button? Which one project will be build first - projects.pro or one opened with first name in list? What will happen if I click REBUILD ALL? Won't it will be rebuild twice?

    bq. SUBDIRS is not an option if you’re using CMake

    I work with jom option turned on (don't sure if this works) and mingw32-make by default.




  • Moderators

    [quote author="Franzk" date="1313502899"]SUBDIRS is not an option if you're using CMake (don't know if that's the case for Gourmand though).[/quote]

    This is certainly not the field of my expertize. However, I thought that creator will always use qmake to generate the different makefiles. Lateron the "makes" will use those makefiles.
    SUBDIRS is part of qmake, isn't it?



  • Ok, let's think I added dependencies... But what will happen after click to Rebuild All if all projects including superproject are open?



  • When you open the superproject, all your subprojects are opened automatically. If you have the subprojects open as well, all projects will start building. That means your projects get built twice. Best is to only open the super project if you want everything available.



  • Ok. But how easy it is managed? What if I need create new subproject for new plugin? How this will be performed (I just want know exactly what I'll get before try).



  • you can start up the plugin as a separate project, then add the project to your subdirs project and go from there. Not much more complicated than what you have to do now.



  • Gourmand, I think a small test made by yourself will show you is it a good option for you.



  • Ok, I just made superproject file like this:

    @TEMPLATE += subdirs
    CONFIG += ordered

    SUBDIRS += sciQtldyn
    CI_STD
    deciQt/deciQtl
    qtcolorpicker-2.6_1-opensource/buildlib
    CI_FED
    SCPS-K
    ci_ui
    EmptyPlugin
    EmptyPlugin2
    textedit
    UIPlugin

    sciQtldyn.file = sciQtldyn.pro
    CI_STD.file = CI_std15_plugin.pro
    deciQt/deciQtl.file = deciQtldyn.pro
    qtcolorpicker-2.6_1-opensource/buildlib.file = buildlib.pro
    CI_FED.file = CI_FED15_plugin.pro
    SCPS-K.file = SCPS-K.pro
    ci_ui.file = ci_ui.pro
    EmptyPlugin.file = EmptyPlugin.pro
    EmptyPlugin2.file = EmptyPlugin2.pro
    textedit.file = textedit.pro
    UIPligin.file = uiplugin.pro@

    this doesn't work. This superproject file is placed into directory on top of all subproject directories. When I open superproject.pro in Qt Creator then I see only this project. I expected all subprojects will be opened inside it. I need mandatory access to each subproject individually. And even project build doesn't work. What is wrong here?



  • At first try to update your QtCreator. Afair you are using 2.0.1 which is too old



  • Hah... here is the question - how to install separate QtCreator package in Windows over old QtCreator? And do not change Qt for while. I do not want upgrade all Qt now - I have dynamically and statically versions. This upgrade will take some time but I cannot spend it now. I downloaded latest QtCreator but installer does not see already installed one. It does not suggest upgrade, just install new. But I want upgrade. How better do that?



  • Ok, I installed 2.2.1 and opened superproject. Result is the same.

    On the "run qmake" it generates Makefile without any mention of subprojects.

    BTW: Tried add existing project to superproject - it adds as "other file". But logically it must add project to .pro as subproject.



  • Just added another one suggestion - ability add existing subproject into superproject created manually or by SUBDIRS wizard. Now this wizard is almost useless. It only allows create empty subprojects but not add existing. For all who agree wit this - please vote for it:

    https://bugreports.qt.nokia.com/browse/QTCREATORBUG-5837

    I tried create subdirs file manually but without success. And my question is still open...


  • Moderators

    Can you post your .pro files of your superproject?

    All I remember is that it was very easy to do so.



  • bq. Can you post your .pro files of your superproject?

    look to 1st page of this thread


  • Moderators

    @TEMPLATE = subdirs
    CONFIG += ordered

    SUBDIRS += sciQtldyn
    CI_STD
    deciQt/deciQtl
    qtcolorpicker-2.6_1-opensource/buildlib
    CI_FED
    SCPS-K
    ci_ui
    EmptyPlugin
    EmptyPlugin2
    textedit
    UIPlugin
    @

    I have changed two things:

    TEMPLATE statement

    removed the section with the different files.

    Probably you have included the last section because of some renaming purposes I do not understand. So you may want to start with changing the TEMPLATE statement only.


  • Moderators

    -I'm not sure how well the subdirs template handles directories in the SUBDIRS variable which are not immediately below the current directory. As such, I'm not sure if the-
    @ deciQt/deciQtl
    qtcolorpicker-2.6_1-opensource/buildlib \ @ -targets will work properly.-

    Edit: I was wrong.



  • bq. Probably you have included the last section because of some renaming purposes I do not understand. So you may want to start with changing the TEMPLATE statement only.

    This section is needed cause project names are not the same as folders names. And they cannot be changed now. This section was added as recommended here:

    http://www.qtcentre.org/wiki/index.php?title=Undocumented_qmake#SUBDIRS_projects

    bq. I’m not sure how well the subdirs template handles directories in the SUBDIRS variable which are not immediately below the current directory.

    Probably this could produce problem. But this is needed by project structure and cannot be changed quickly. If SUBDIRS cannot include nested dirs - then SUBDIRS is not appropriate solution for me. Just another reason to write suggestion...



  • mlong, it is supported. I've done it in couple of projects


  • Moderators

    Gourmand,

    assuming that the renaming of your subdir/subproject works, the only difference I have seen is that you have added subdirs template instead of substituting.
    Just to make sure that you did not oversee that change

    @TEMPLATE += subdirs@

    to

    @TEMPLATE = subdirs@

    Possibly there is no effect when there was no template set before.



  • Looks like this is true. Very surprising cause += works in all other project settings. I changed to TEMPLATE = subdirs and project almost opened. But only latest UIPlugin subproject appeared in project. No one other subproject was opened.


  • Moderators

    [quote author="Denis Kormalev" date="1313608432"]mlong, it is supported. I've done it in couple of projects[/quote]

    Ok, good to know. I've been using Qt long enough that I probably am remembering a time when it didn't. :-)



  • Can anybody tell why only latest subproject openes with superproject?



  • Probably an incorrect subdirs thingy. I never had that problem when I was using it.



  • Subdirs match to exact directory structure. Project files match too. This was checked.



  • Care to post the current state?



  • it is the same as on 1st page but on 1st line is

    TEMPLATE = subdirs

    instead of

    TEMPLATE += subdirs

    other lines are identical



  • finally I've got subrojects loaded, the superproject file looks like this:

    @TEMPLATE = subdirs
    CONFIG += ordered

    SUBDIRS += sciQtldyn
    CI_STD
    deciQt/deciQtl
    qtcolorpicker-2.6_1-opensource/buildlib
    CI_FED
    SCPS-K
    ci_ui
    EmptyPlugin
    EmptyPlugin2
    textedit
    UIPlugin

    sciQtldyn.file = sciQtldyn/sciQtldyn.pro
    CI_STD.file = CI_STD/CI_std15_plugin.pro
    deciQt/deciQtl.file = deciQt/deciQtl/deciQtldyn.pro
    qtcolorpicker-2.6_1-opensource/buildlib.file = qtcolorpicker-2.6_1-opensource/buildlib/buildlib.pro
    CI_FED.file = CI_FED/CI_FED15_plugin.pro
    SCPS-K.file = SCPS-K/SCPS-K.pro
    ci_ui.file = ci_ui/ci_ui.pro
    EmptyPlugin.file = EmptyPlugin/EmptyPlugin.pro
    EmptyPlugin2.file = EmptyPlugin2/EmptyPlugin2.pro
    textedit.file = textedit/textedit.pro
    UIPligin.file = UIPlugin/uiplugin.pro@

    I don't know why Creator loaded latest subproject without it's directory name, but did not load others... This is hidden.

    But entire project doesn't built. An error appears

    bq. :-1: error: No rule to make target c:/Qt/2009.03/qt/mkspecs/win32-g++/qmake.conf', needed byMakefile'. Stop. File not found.

    WHICH ONE FILE???

    Ok... I'm sure subprojects are good if you create new project from 0. But if you already have some project at the middle - then remaster it to subprojects structure becomes annoying.

    There is some progress in my open suggestion

    https://bugreports.qt.nokia.com/browse/QTCREATORBUG-5823

    Vote for it, may be this will be created soon...



  • This work for me:

    TEMPLATE = subdirs
    CONFIG+= ordered
    SUBDIRS += Service/Service.pro
    SceneManager/SceneManager.pro
    Apollo/Apollo.pro

    But i had problens with debug and release modes :(


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.