Coder Social home page Coder Social logo

genie's Introduction

GENie - Project generator tool

What is it?

GENie is project generator tool. It automagically generates project from Lua script, making applying the same settings for multiple projects easy.

Supported project generators:

  • Visual Studio 2008, 2010, 2012, 2013
  • GNU Makefile

Download (stable)

version 60 (commit aac14a2caed1f5505c6be280d370bf64d6f19f52)

Linux:
https://github.com/bkaradzic/bx/raw/master/tools/bin/linux/genie

OSX:
https://github.com/bkaradzic/bx/raw/master/tools/bin/darwin/genie

Windows:
https://github.com/bkaradzic/bx/raw/master/tools/bin/windows/genie.exe

Building (dev)

$ git clone https://github.com/bkaradzic/genie
$ cd genie
$ make

Documentation

Scripting Reference

History

Initial version of GENie is fork of Premake 4.4 beta 5, and there is no intention to keep it in sync with it.

Changelog (since fork)

  • Added vs2013 support.
  • Added hash UUID support. os.uuid(<string>) should produce consistent UUID.
  • Added search for default script. Default script name is changed to genie.lua (solution.lua and premake4.lua are also allowed), and it can be located in scripts directory.
  • Updated Lua from 5.1.4 to 5.2.3.
  • Disabled SmallerTypeCheck VS option when ExtraWarnings is set (need to move it into separate option).
  • New versioning scheme based on revision number from git.
  • Preliminary support for WinRT.
  • Added startproject "<project name>" to set default project in VS.
  • Removed NoMinimalRebuild and added reversed logic to EnableMinimalRebuild.
  • Added NoMultiProcessorCompilation.

Why fork?

At the time of writing this, September 2014, Premake project is on long hiatus. The last official release 4.3 is released in November 2010, 4.4 beta 5 was released in November 2013, and the main developer is focusing on Premake 5.

Multiple requests for releasing new version end up with this type of answer:

Then help fix the bugs marked 4.4 in the SourceForge tracker so that we can
make a release. Or review and improve the patches so that I may get them
applied more quickly. Or pay me to do it so that I can spend more time on
it, instead of doing other work that you value less (but which actually, you
know, pays me).

So author has high expectations for release, but he is not working on it, but rather working on completely different... Pay me to finish this sentence... You get the point. :)

This long period between releases where multiple versions are in flight cause confusion for users who are not familiar with Premake, and they just need to use Premake to generate project files for project they are interested in.

I've been using Premake for a while, I really like it's simplicity, and that it does one thing really well.

I was considering replacing Premake with other build systems that also could generate project files, but all these projects fail at being simple and doing only one thing. I don't need build system, or package manager, etc. just a simple project generator.

In conclusion, forking it and maintaining it is not much different from current state of Premake, it's just acknowledging the problem, and dealing with it.

Copyright (c) 2003-2013 Jason Perkins and individual contributors.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
	this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
	this list of conditions and the following disclaimer in the documentation
	and/or other materials provided with the distribution.

3. Neither the name of the Premake nor the names of its contributors may be 
	used to endorse or promote products derived from this software without
	specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

genie's People

Contributors

bkaradzic avatar jalgelind avatar mikepopoloski avatar vk2gpu avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.