Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Manually configuring shadow build in qmake

There is a feature I really like in qt creator and it is the Shadow build. When the Shadow Build is on, all the generated files (*.moc, Makefile, *.o) will be generated in a given source directory, so the sources directory is kept clean. I am moving from qt creator to kdevelop and I am trying to figure out how this feature works, so far I can create the resulting binary, the moc files and object files to the extra directory using the variables DESTDIR, OBJECTS_DIR and MOC_DIR but I cannot create the makefile in this diretory. Any ideas?

like image 983
Sambatyon Avatar asked Mar 02 '11 18:03

Sambatyon


2 Answers

AFAIK what QtCreator does, basically boils down to this:

 mkdir my_shadow_build
 cd my_shadow_build
 qmake ../my_src_dir

this creates the Makefile itself in the build directory and simply running

 make

there creates all temporary files under the build directory, using the sources from the original directory. This does not require any special stuff in the .pro file but just depends on the usage "from the outside".

like image 99
Steffen Avatar answered Nov 20 '22 11:11

Steffen


You can also try the experimental QMake support plugin for KDevelop: https://projects.kde.org/kdev-qmake

It asks you for a build folder on first start and does the shadow-build stuff. Note that you need to make sure your .pro and .pri files are written properly - it's quite easy to mess it up. CMake is much simpler in that regard!

like image 45
milianw Avatar answered Nov 20 '22 12:11

milianw