mangosArchives / Mangos-One-server-old

This repo has been moved to https://githubs.com/mangosone/server
http://getmangos.eu/
GNU General Public License v2.0
95 stars 54 forks source link

CMake build system improvements #10

Open ghost opened 13 years ago

ghost commented 13 years ago

Building mangos-one with CMake has been stable for a while, and produces working builds on several platforms.

As always there is room for improvement!

CMake requirements

CMake has been making quite a few bigger steps with the last releases of the 2.8 series, especially with version 2.8.5 allowing for proper builds with both the free editions of Visual C++ and the professional editions.

Also of interest is the support for the clang C/C++ frontend for LLVM, which provides another compiler suite on which *mangos-one can be built.

Other improvements e.g. include support for resources using MinGW.

With all those improvements in mind, CMake version 2.8.5 should become the minimum requirement.

Platform support

mangos-one should be configurable using CMake on at least these operating systems:

mangos-one should be compilable using these compilers:

In addition the CMake build definition should use native CMake modules where possible, and the custom extensions should be updated to follow identical coding conventions like CMakes' native modules.

This also includes using CMakes' builtin scripting functions to detect git support and get the current git revision, or to create the version / revision file using CMake instead of an executable being built.