Home

Awesome

icon

Welcome to LeanCreator - a lean version of Qt Creator

LeanCreator is a stripped-down version of Qt Creator, which includes the essential features for C and C++ development, and is easy to build from source on all platforms supported by LeanQt.

LeanCreator uses LeanQt instead of the original Qt toolkit, and is built with and uses the BUSY build system instead of qmake.

In contrast to QtCreator, LeanCreator is a single file application, easy to download and install; there are no separate shared libraries or support files or directories. Precompiled binaries are available (see below), but it's also easy to build LeanCreator from scratch with no system requirements other than a C++11 compatible compiler.

LeanCreator is based on the code of Qt Creator 3.6.1, mostly because I already know the internals due to VerilogCreator and it's QtcVerilog IDE, and because I'm still using Qt Creator 3.4 most of the time which does everything I need and is even faster than later versions.

In combination with LeanQt this is a big codebase and as such also a good test case for the BUSY build system; the cloc tool reports 351 kSLOC for LeanCreator and 993 kSLOC for LeanQt (1.34 mmSLOC in total).

Here is a screenshot:

LeanCreator Screenshot

Planned or work-in-progress features

The current version was successfully compiled and tested on Linux x86 & x86_64 (GCC), macOS x86_64 & M1 (Clang), and Windows x86 & AMD64 (MSVC & MinGW). The tests included navigating the LeanQt source tree with different parameter settings, and running some of the examples in the debugger with breakpoints and value inspections.

On Windows LeanCreator was successfully tested with MSVC 2013, 2015 and 2022 (with CDB), and also with MinGW 12.2.0 i686 (with GDB). Debugging seems to even work better than with MSVC, where CDB is very slow on symbol load. Clang on Windows seems to work, but there are tons of compiler errors when compiling LeanQt. Lldb on Windows seems not to work however.

The new multi-core BUSY builder is extremely fast. Building LeanCreator on the eight cores of Mac M1 takes less than 10 minutes. Also finding out whether something has to be recompiled is only a split second (compared to several minutes with Qt Creator and make). Also the header dependency tracking is very fast; it is based on the built-in C++ parser used for code indexing. All in all LeanCreator builds much faster than Qt Creator with qmake or cmake even without the Ninja backend; the latter is therefore no longer a top priority.

NOTE:

Long term plan

No support planned

Precompiled versions

The following precompiled versions are available at this time:

Just download, unzip and run; no installation required; it's just a single executable.

On Mac the terminal opens when LeanCreator is run, and the menus are only active if the application was in the background one time; to avoid this the application can be included in an application bundle. Also note that the application on Mac must be started via the "open" command from the context menu; otherwise the system refuses to start the app.

NOTE that the Windows versions are compiled with MT using a statically linked C/C++ runtime, so no Microsoft runtime has to be installed. The executable runs even on Windows 7.

For convenience here are the pre-built Qt 5.6.3 help files (*.qch) compatible with LeanCreator and LeanQt (download, unpack and reference with LeanCreator/Options/Documentation).

How to build LeanCreator

To build LeanCreator using LeanQt and the BUSY build system (with no other dependencies than a C++11 compiler), do the following:

  1. Create a new directory; we call it the root directory here
  2. Download https://github.com/rochus-keller/LeanQt/archive/refs/heads/master.zip and unpack it to the root directory; rename the resulting directory to "LeanQt".
  3. Download https://github.com/rochus-keller/LeanCreator/archive/refs/heads/master.zip and unpack it to the root directory; rename the resulting directory to "LeanCreator".
  4. Download https://github.com/rochus-keller/BUSY/archive/refs/heads/master.zip and unpack it to the root directory; rename the resulting directory to "BUSY".
  5. Open a command line in the BUSY directory and type cc *.c -O2 -lm -O2 -o lua or cl /O2 /MD /Fe:lua.exe *.c depending on whether you are on a Unix or Windows machine; wait a few seconds until the Lua executable is built.
  6. Now type ./lua build.lua ../LeanCreator (or lua build.lua ../LeanCreator on Windows); wait until the LeanCreator executable is built (about an hour); you find it in the output/app subdirectory.

NOTE that if you build on Windows you have to first open a console and run vcvars32.bat or vcvars64.bat provided e.g. by VisualStudio (see e.g. here for more information).

Additional Credits

Support

If you need support or would like to post issues or feature requests please use the Github issue list at https://github.com/rochus-keller/LeanCreator/issues or send an email to the author.