chenshuo/muduo — pull request #20 by lzprgmr (2013-09-07 14:24:22+00:00)
Title: POC of using premake to compile muduo: use base, net, and simple_echo as examples

Premake is a meta build system similar to cmake, although not as mature as cmake, premake is more flexible by leveraging *lua* as its build script format, compared to cmake:
* It provides a better structured domain model: solution - project - configuration
* it is more flexible - it is easier to twist for corner cases, and extend it yourself when you need more power, write build script is also programming

Here are a few links:
* [User Guide](http://industriousone.com/premake/userguide)
* [BitBucket Repo](https://bitbucket.org/premake/premake-stable)

For this change in specific, it is obvious not a full support to use premake to build muduo, but rather a POC - which proves use premake to build muduo is feasible, and also quite elegant:)

To try with it:
1. Install [premake4.4 beta](http://industriousone.com/premake/download)
2. Run *premake gmake* to generate make file
3. Run *make -C ../build/ config=release* to build
4. See what has generated:
```
$ tree ../install
../install
├── bin
│ └── simple_echo
├── include
│ └── muduo
│ ├── base
│ │ ├── AsyncLogging.h
│ │ ├── Atomic.h
│ │ ├── BlockingQueue.h
│ │ ├── BoundedBlockingQueue.h
│ │ ├── Condition.h
│ │ ├── copyable.h
│ │ ├── CountDownLatch.h
│ │ ├── CurrentThread.h
│ │ ├── Date.h
│ │ ├── Exception.h
│ │ ├── FileUtil.h
│ │ ├── LogFile.h
│ │ ├── Logging.h
│ │ ├── LogStream.h
│ │ ├── Mutex.h
│ │ ├── ProcessInfo.h
│ │ ├── Singleton.h
│ │ ├── StringPiece.h
│ │ ├── Thread.h
│ │ ├── ThreadLocal.h
│ │ ├── ThreadLocalSingleton.h
│ │ ├── ThreadPool.h
│ │ ├── Timestamp.h
│ │ ├── TimeZone.h
│ │ └── Types.h
│ └── net
│ ├── Buffer.h
│ ├── Callbacks.h
│ ├── Channel.h
│ ├── Endian.h
│ ├── EventLoop.h
│ ├── EventLoopThread.h
│ ├── EventLoopThreadPool.h
│ ├── InetAddress.h
│ ├── TcpClient.h
│ ├── TcpConnection.h
│ ├── TcpServer.h
│ └── TimerId.h
└── lib
├── libmuduo_base.a
└── libmuduo_net.a
```

If we agreed, I can work towards to port muduo to build with premake fully.

Thanks.