Linux Project Generator

Linux Project Generator is a tool that can be used to quickly generate an autogen-based, Moblin compliant template project in C, C++, or Python. It has a growing set of sample code that can be selected and included. See the feature list below.

Linux Project Generator (projgen) is itself autogen-based, written in C++, and generates a library (libprojgen) and application (projgen). The library exposes a simple C interface that expects all the project information. The application has support for a console version and GTK UI (uses glade). See screenshots below. It is licensed as LGPL.

Download, Install, Run

projgen-0.1.4.tgz projgen-0.1.4-1.i386.rpm projgen_0.1.4-1_i386.deb
  • Last updated: Nov. 05, 2009
If you downloaded the tgz or wish to build from source, jump to Build From Source.

Start the program

After installing the package above, you can start the program:
$ projgen

Screen shots

Console UI
Command-line help

Click the tabs below to see all screenshots

Feature List

FeatureDescription
autogen enabledProject can be built and installed with standard 3 commands: autogen.sh, make, (sudo) make install.
Customize project dataUser enters name, path, language, license, etc.
C, C++, PythonSelect which language you want your template project to be written in.
Project type: app, lib, or comboSelect if you want your project to generate an application, a library, or any combination (such as two app binaries and a library).
Dependent LibrariesSelect the libraries to include. Uses pkg-config to generate appropriate build flags.
(Moblin) ComplianceCheck whether to only display Moblin compliant libraries and versions to include as dependencies.
LicensePick from the most common open source licenses. Appropriate COPYING and code headers are generated. Supports GPL 2, GLP 2+, GPL 3, LGPL 2.1, LPGL 3, MIT, and BSD. New or custom licenses can be easily added.
gtk-docCheck whether your library should auto-generate documentation from gtk-doc style comments.
I18NCheck whether to add support and examples for internationalization.
Sample CodeSelect the samples you want included in your template. Ideally most tutorials and 'how-to' documentation also include a block of code that can be built into a template project.
automationSupports most features as command-lined parameters.

Build From Source

If you downloaded the tgz file above, unzip it:
$ tar xvzf projgen-<version>.tgz
If you want to checkout the source code from the git repository:
$ git clone git://git.moblin.org/projgen.git
The source can also be viewed online: http://git.moblin.org/cgit.cgi/projgen

Dependencies

The following libraries must be installed to build the source: libglade-2.0>=2.4.0, glib-2.0, gconf-2.0, libxml-2.0, libmagic.
Moblin/Fedora
# yum install file-devel libglade2-devel glib2-devel GConf-dbus-devel libxml2-devel
Ubuntu
# apt-get install libmagic-dev libglade2-dev libglib2.0-dev libgconf2-dev libxml2-dev

Build and Run

After the dependencies above are installed you can build and run
$ cd projgen
$ ./autogen.sh
$ make
$ sudo make install
$ projgen
Syndicate content
Syndicate content