Xmake is a console application for building C/C++ projects. It uses XML syntax to describe the necessary files required to build a project and is much easier to explain than make. It is based on a project with one or more "configurations", thus allowing a single file to build across multiple platforms/compilers. Each of the specified source files can belong to one or more of the configurations. The program will automatically do dependency checking for consecutive builds. There are pre- and post-build steps that allow you execute commands to the shell. The pre/post-build steps are also linked to the configuration, so you can be platform specific per configuration.
The Visual Component Framework is a cross platform C++ application framework that offers a modern, clean architecture. It is divided into three major libraries. The FoundationKit provides services such as file access, streams, threads, synchronization primitives, and advanced RTTI features. The GraphicsKit includes classes for working with both image and vector graphics, and has built in support for the Anti-Grain Graphics library. The ApplicationKit provides GUI controls, use of the Model-View-Control pattern, property and component editors, undo/redo support, drag-and-drop, clipboard services, application resources, and UI metrics and policy managers.
Re: A different perspective.
> There needs to be a single, prominent,
> default C++ toolkit. There can still be
> lots of others, but one should be
> crowned king.
> This toolkit must:
> - be totally free. Qt is not an option.
> Windows developers are not going to
> abandon free toolkits for really
> expensive ones.
> - use native widgets. Almost the whole
> target market for these developers is
> Windows users. They don't want a
> toolkit that uses GTK+ widgets on
> Windows (though personally I think GTK2
> looks pretty good).
> - exist now. If we start a design
> process on Boost now, and then
> eventually develop something it will be
> too late. Everyone will be using Java,
> C#, or VB by then.
> This toolkit should:
> - use modern C++. The developers who
> really like C++ want to use the STL,
> templates, exceptions, RTI, etc.
> - become the basis for OOo. This would
> give it a higher profile and more users,
> not to mention all that code. (The OOo
> people are planning to move their code
> to a new GUI toolkit, by the way.)
> But I guess I'm dreaming...
Nope. You should check out the Visual Component Framework (http://vcf.sourceforge.net). It does everything you list here. It's easy to use. It works great on Win32, and there's an active port underway for OSX. The linux port is kind stagnant, but if we get more help that could change.
The framework uses modern C++, RTTI, plus advanced reflection features that are on par with Java's Reflection API. Makes heavy use of STL, supports Unicode internally, Locale support, native widget support and graphics API's for drawing all the basic visual components, it's free and has a BSD license.