[Bf-committers] Fast Linux/CMake/QtCreator Setup Tutorial

Jaevixa McNomera jjv.mnr at gmail.com
Thu May 13 18:45:54 CEST 2010


Ideasman42,

Have you a method of compiling + running from within QtCreator, after a svn
up (from in QtC), that correctly constructs everything?

I can build properly the "first time", but unless I manually >rm
-rf ~/blender-svn/build-cmake/bin/* , blender still shows itself as the
"old" verison on the splash :)

If I just open a term and run ~/blender-svn/build-cmake>ccmake ../blender
then do a quick 'c' + 'g', then a make -j5, then i can go into QtC and
everything will again build fine.

I'm accustomed to QtC and really like using it for blender, but I'm still a
little lost on how to make it update everything correctly. :( It's not a
huge distraction if I do have to keep that term open and do it real quick
between runs, but just curious if your streamlined workflow has a solution
that I'm missing???

Thanks,
Jae

On Mon, May 10, 2010 at 12:50 AM, Campbell Barton <ideasman42 at gmail.com>wrote:

>  On Mon, May 10, 2010 at 6:09 AM, Leif Andersen
> <leif.a.andersen at gmail.com> wrote:
> > /me smacks himself:  Blender can be updated from subversion within
> QtCreator
> > Tools -> Subversion -> Update Project "Blender"
> >
> > Thanks. :)
> >
> > ~Leif Andersen
> >
> > ----------
> > That was easy:
> > http://www.appbrain.com/app/net.leifandersen.mobile.android.easybutton
> >
> >
> > On Sun, May 9, 2010 at 21:43, Xavier Thomas <
> xavier.thomas.1980 at gmail.com>wrote:
> >
> >> It is integrated in QT creator as it comes
> >>
> >> 2010/5/10 Leif Andersen <leif.a.andersen at gmail.com>:
> >> > That was very useful, thank you.  I would like to know though, did you
> >> get
> >> > some sort of plugin to integrate SVN into QTCreator, it do you use
> some
> >> > other GUI client like rapidsvn, or do you just use the command line
> >> inputs
> >> > for svn?
> >> >
> >> > Thank you
> >> >
> >> > ~Leif Andersen
> >> >
> >> > ----------
> >> > That was easy:
> >> >
> http://www.appbrain.com/app/net.leifandersen.mobile.android.easybutton
> >> >
> >> >
> >> > On Sun, May 9, 2010 at 18:50, Xavier Thomas <
> >> xavier.thomas.1980 at gmail.com>wrote:
> >> >
> >> >> I also use this exact same config and was thinking of doing a video
> >> >> tutorial on how to set it up because of the high frequency these
> >> >> questions comes up in IRC. (But waiting for a sound card that
> actually
> >> >> works to record my sweet voice)
> >> >>
> >> >> In the meantime maybe adding some additional info here is good idea:
> >> >> - You need at least version 1.3 to have code navigation/refactoring
> tool
> >> >> - The search box to quickly find a function or a open a file in the
> >> >> lower left corner is really nice to avoid going through all the
> source
> >> >> code directories to find a file.
> >> >> -You still can build with scons on the command line if you want to
> but
> >> >> it is slower.
> >> >>
> >> >> On a other hand KDevelop 4 works similarly (open the CMakelist.txt as
> >> >> a project, choose a build dir and your done).
> >> >>
> >> >> For those who want a competitive analisys:
> >> >>
> >> >> QTCreator:
> >> >> Pros
> >> >> - Lightweight and fast
> >> >> - CleanUI
> >> >> - Using Cmake is easy
> >> >> - Subversion tools for most tasks
> >> >> - Good integrated debugger
> >> >> Cons
> >> >> - Code navigation/refactoring tools works only in opened files and
> not
> >> >> the whole scope, (#ifdef also mess things up)
> >> >> - Inspecting values in the debugger is time consuming
> >> >>
> >> >> Kdevelop
> >> >> Pros
> >> >> - Using Cmake is easy
> >> >> - Subversion tools for most tasks
> >> >> - Great integrated debugger which permit inspecting values with just
> a
> >> >> mouse over
> >> >> - Code navigation and refactoring tools almost perfect
> >> >> Cons
> >> >> - Slower but still light fast compared to eclipse/netbeans
> >> >> - Bloated UI
> >> >>
> >> >> And for Debian users, both QTCreator and KDevelop are in the
> >> repositories.
> >> >>
> >> >>
> >> >> 2010/5/9 Campbell Barton <ideasman42 at gmail.com>:
> >> >> > Heres a page I wrote today about my IDE configuration on Linux,
> which
> >> >> > is similar to nexYon's and joe's
> >> >> > I was thinking this might help GSOC students who use Linux, but
> others
> >> >> > may be interested too.
> >> >> >
> >> >> > This setup is nice because you can point QtCreator at an existing
> >> >> > CMake build directory to get the IDE up and running quickly.
> >> >> > It also doesn't rely on using QtCreator, you can keep building from
> >> >> > the command line too.
> >> >> >
> >> >> > This document also goes into some details about getting faster
> build
> >> >> > times (~2 seconds, ~3 seconds with a change to a single C file)
> >> >> >
> >> >> >
> http://wiki.blender.org/index.php/User:Ideasman42/CMakeQTCreatorLinux
> >> >> >
> >> >> > for visual people, heres a screenshot :)
> >> >> > http://wiki.blender.org/uploads/a/a1/Qtc_blender_25.png
> >> >> >
> >> >> > --
> >> >> > - Campbell
>
> Thanks xavier for the info on kdevelop, I used the 3.x version for
> some months, found it quite good except managed to crash its debugger
> integration fairly frequently.
>
> I didnt get to test the recent kdevelop 4.x release yet so glad to
> know its on par with QtCreator.
>
> For refactoring I use my own python script which can go over all files
> and do things like search/replace, change order of args. I find this
> better because I like to be able to refactor different languages and
> being written in python makes it flexible.
>
> Note that I also tried eclipse, netbeans, codeblocks (a little) and
> code-lite
> in general I found these apps OK but not great at dealing with a
> project as big as Blender.
> In the case of netbeans and eclipse - they are not focused on C/C++,
> they can be made to work OK with some configuring but suffer from
> java-slowness.
>
> --
>  - Campbell
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list