QtCreator - workflow for Scribus and Git repository under Linux
You have successful installed Scribus git repository on local storage, eg. in ~/ScribusGIT. You have QtCreator installed as well.
This article show how to work with Scribus git repository in QtCreator.
First of all I am suggesting to make separate folder where you will work on code and make all builds and installs without messing up local git repository with building files.
So, create new folder eg. ~/ScribusDEV (or any other naming you use).
In this folder create subfolders for building purposes:
Now create here symlink for Scribus source folder (~/ScribusGIT/Scribus)
#ln -s ~/ScribusGIT/Scribus ~/ScribusDEV/Scribus
Now create here (still in ~/ScribusDEV) two shell scripts, which will be used in QtCreator as your own building steps:
Let see how these scripts look in my case:
"building" looks like this:
#!/bin/sh -e cd builddir cmake ../Scribus -DCMAKE_INSTALL_PREFIX:PATH=~/Scribus_install -DWANT_DEBUG=0 -DWANT_GRAPHICSMAGICK=1 -DWANT_VERSIONING=0 make -j4 make install -j4
"debug" looks like this:
#!/bin/sh -e cd debugdir cmake ../Scribus -DCMAKE_INSTALL_PREFIX:PATH=../install -DWANT_DEBUG=1 -DWANT_GRAPHICSMAGICK=1 -DWANT_VERSIONING=0 make -j4 make install -j4
In my case I have quad core processor, so I put -j4 switch for faster compilation. Use -jN switch if you have processor with N threads.
Now you are ready for set up QtCreator project.
- run QtCreator and open project ~/ScribusDEV/Scribus/Scribus.pro
- go to "Projects"
- for release build configuration:
- set "Build directory" to "~/ScribusDEV/builddir"
- remove all build steps
- in Add Build Step select Custom Process Step, as Command browse to "building" script, as Working directory" set "~/ScribusDEV"
- repeat last steps for Debug configuration with "debugdir" instead "builddir" and "debug" script instead "building"
Now you can test if your develop environment is working: try to build Scribus in QtCreator.
Last thing to do is to exclude "Scribus.pro.user" file created by QtCreator from git repository so it will not be show as untracked file. Edit ~/ScribusGit/.git/info/exclude file and add there "Scribus.pro.user" line.