16.03.2012, 04:29, "Jason McKesson" <korv...@gmail.com>:
> On 3/15/2012 2:23 AM, Konstantin Tokarev wrote:
>
>>  15.03.2012, 09:11, "Jason McKesson"<korv...@gmail.com>:
>>>  It's a *build system*, not an application; it's not that complicated.
>>>  And if your build system is so big and complex that you can lose track
>>>  of what globals, add-ons, and so forth you've included, something has
>>>  gone wrong somewhere.
>>  Premake is an application, and it's already complex. Add-ons are supposed
>>  to extend *Premake* out-of-the-box capabilities and may be written by
>>  3rd parties.
>>>  Remember: build rules are supposed to be the exception, not the default.
>>  For my use cases they will be default (e.g., Qt support requires at least 6 
>> build
>>  rules). Also remember that build rules can be used to implement support for
>>  programming languages other than C/C++, code generators, and preprocessors.
>
> Premake is, generally speaking, for being able to have a cross-platform
> build system that works the same everywhere. That way, I can develop
> using Visual Studio, but you could use Make, and someone else can use
> Code::Blocks, etc. And the source of the build is a single, simple format.
>
> Build rules basically throw away any hope of platform neutrality. You're
> effectively *relying* on certain things not only existing on the user's
> machine, but them being in certain places (even if it's just the search
> path). Build rules are always platform-specific. In some cases, they can
> be build-tool-specific.

Than, generally speaking, you cannot use Premake for any cross-platform 
development
which is not limited to simple console C/C++ applications. If you use 3rd party 
libraries
which are not integrated with your development environment (e.g., Visual 
Studio), you
cannot be platform-neutral. But cross-platform libraries are usually not a part 
of any
platform-specific development environment.

You may also forget about any GUI. There's no GUI toolkit in the world which is 
both
cross-platform and is not "external" from IDE's point of view (well, in Qt 
Creator you
can usually assume that you have at least one installation of Qt shipped within 
IDE
or auto-detected, but that's an exceptional case and QtC is not directly 
supported
by Premake).

Forget about cross-compilation toolchains for generic Linux devices. They all 
have
custom placement of compilation tools and custom naming of them.

Forget about compiled languages like D, Fortran, OCaml, Haskell, etc. They are 
not
part of "native" platform development environments.

Sad but true.

I think that your requirement of "platform neutrality" limits possible use 
cases of Premake
too much. You may have other opinion though.

-- 
Regards,
Konstantin

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Premake-users mailing list
Premake-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/premake-users

Reply via email to