Skip to content

Instructions_for_dev_setup_under_Linux

Paweł Salawa edited this page Jan 22, 2018 · 1 revision

Initial project configuration in QtCreator

Let's assume that you have "SQLiteStudio3" project placed in /home/user/projects/sqlitestudio.

Open SQLiteStudio.pro file from the application source code (do it by right-clicking on the projects list area and selecting "Load Project", note that you need to have qmake projects plugin loaded in QtCreator). QtCreator will ask you to "configure" the project. There is only one important thing to do - define the build path (you need to expand the "Details"). Set it to the following (for both Debug and Release configurations):

/home/user/projects/sqlitestudio/output/build

Plugin projects

It's very similar to how it was for the main project. Just open plugin's *.pro file and setup the build path.

For Plugins aggregated plugins project it will be:

/home/user/projects/sqlitestudio/output/build/Plugins

For any external plugin that you want to compile (that is outside of Plugins project), it will be similar:

/home/user/projects/sqlitestudio/output/build/YourPluginName

and so on...

Summary

Output executables and plugins will be placed in:

/home/user/projects/sqlitestudio/output/SQLiteStudio

That's it. You can compile project, then compile plugins (that's the dependency order), write some code and recompile it. In case of problems, ask on forum.

Optional steps

Multiple CPUs

If you have multiple CPU cores, you might want to use them for faster compilation. In QtCreator, in "Projects" mode there is a "make" step for build. Expand this step for details and add command line argument for it:

-j 4

The number reflects number of CPU cores that will be used.

Unit tests

Unit tests are disabled by default. If you want to enable that sub-project, you need to go to "Projects" mode, find "qmake" additional arguments and add:

"DEFINES += tests"

After QtCreator refreshes new project settings (after couple of seconds) you should see unit tests as a Run targets.

You can’t perform that action at this time.