11

GitHub - rochus-keller/LeanCreator: LeanCreator is a stripped-down version of Qt...

 1 year ago
source link: https://github.com/rochus-keller/LeanCreator
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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 other requirements 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, macOS x86_64 & M1, and Windows x86. 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. Note that there is an issue with LLDB on Mac M1 (see #1).

  • Basic, stand-alone application with statically linked plugins
  • C++ support
  • rebranding
  • deep BUSY integration (replacement for qmake)
  • GCC, Clang and MSVC support
  • GDB, LLDB and CDB support
  • Extend BUSY file navigation
  • BUSY builds with header dependency tracking
  • Wizzards for project and code file creation
  • Other convenience features
  • Ninja builds

Long term plan

  • Display BUSY file calculated values, gray-out inactives
  • Lua automation
  • Designer integration
  • Oberon+, Verilog and Lola integration

No support planned

  • qmake
  • qml, quick, JS, Python
  • animation or graphics effects, all stuff not supported by LeanQt
  • modeleditor
  • remote access via ssh
  • android, ios, qnx and winrt plugins
  • make, autotools, cmake and qbs
  • version control plugins
  • emacs or vim simulation

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.

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 build 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

  • Copyright (C) 2016 by The Qt Company Ltd.
  • Copyright (C) 2008-2011 Nokia Corporation and/or its subsidiary(-ies).
  • Copyright (C) 2007 Trolltech AS.

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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK