diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /src/README.md | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'src/README.md')
| -rw-r--r-- | src/README.md | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/src/README.md b/src/README.md new file mode 100644 index 00000000..e013cf86 --- /dev/null +++ b/src/README.md @@ -0,0 +1,210 @@ +--- +home: true +heroImage: /hero.png +actionText: Get Started → +actionLink: /guide/getting-started +features: + - title: Why + details: Making development and building easier, so that any developer can quickly pick it up and enjoy the productivity boost when developing and building project. + - title: Powerful + details: Provides lots of features (e.g. package, install, plugin, macro, action, option, task and etc). + - title: Cross-platform + details: Supports windows, macOS, linux, android, ios. +footer: Apache-2.0 Licensed | Copyright © 2015-present tboox.org +--- + +## Simple description + +<img src="https://xmake.io/assets/img/index/showcode1.png" width="40%" /> + +## Package dependences + +<img src="https://xmake.io/assets/img/index/add_require.png" width="70%" /> + +An official xmake package repository: [xmake-repo](https://github.com/tboox/xmake-repo) + +## Build project + +```bash +$ xmake +``` + +## Run target + +```bash +$ xmake run console +``` + +## Debug target + +```bash +$ xmake run -d console +``` + +## Configure platform + +```bash +$ xmake f -p [windows|linux|macosx|android|iphoneos ..] -a [x86|arm64 ..] -m [debug|release] +$ xmake +``` + +## Menu configuration + +```bash +$ xmake f --menu +``` + +<img src="https://xmake.io/assets/img/index/menuconf.png" width="80%" /> + +## Package management + +<img src="https://xmake.io/assets/img/index/package_manage.png" width="80%" /> + +## Supported platforms + +* Windows (x86, x64) +* macOS (i386, x86_64) +* Linux (i386, x86_64, cross-toolchains ...) +* Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a) +* iOS (armv7, armv7s, arm64, i386, x86_64) +* WatchOS (armv7k, i386) +* MinGW (i386, x86_64) + +## Supported Languages + +* C +* C++ +* Objective-C and Objective-C++ +* Swift +* Assembly +* Golang +* Rust +* Dlang +* Cuda + +## Supported Projects + +* Static Library +* Shared Library +* Console +* Cuda Program +* Qt Application +* WDK Driver (umdf/kmdf/wdm) +* WinSDK Application + +## Builtin Plugins + +#### Macros script plugin + +```bash +$ xmake m -b # start to record +$ xmake f -p iphoneos -m debug +$ xmake +$ xmake f -p android --ndk=~/files/android-ndk-r16b +$ xmake +$ xmake m -e # stop to record +$ xmake m . # playback commands +``` + +#### Run the custom lua script plugin + +```bash +$ xmake l ./test.lua +$ xmake l -c "print('hello xmake!')" +$ xmake l lib.detect.find_tool gcc +``` + +#### Generate IDE project file plugin(makefile, vs2002 - vs2017 .. ) + +```bash +$ xmake project -k vs2017 -m "debug,release" +``` + +#### Generate doxygen document plugin + +```bash +$ xmake doxygen [srcdir] +``` + +## More Plugins + +Please download and install from the plugins repository [xmake-plugins](https://github.com/tboox/xmake-plugins). + +## IDE/Editor Integration + +* [xmake-vscode](https://github.com/tboox/xmake-vscode) + +<img src="https://raw.githubusercontent.com/tboox/xmake-vscode/master/res/problem.gif" width="60%" /> + +* [xmake-sublime](https://github.com/tboox/xmake-sublime) + +<img src="https://raw.githubusercontent.com/tboox/xmake-sublime/master/res/problem.gif" width="60%" /> + +* [xmake-idea](https://github.com/tboox/xmake-idea) + +<img src="https://raw.githubusercontent.com/tboox/xmake-idea/master/res/problem.gif" width="60%" /> + +* [xmake.vim](https://github.com/luzhlon/xmake.vim) (third-party, thanks [@luzhlon](https://github.com/luzhlon)) + +## More Examples + +Debug and release modes: + +```lua +add_rules("mode.debug", "mode.release") + +target("console") + set_kind("binary") + add_files("src/*.c") + if is_plat("windows", "mingw") then + add_defines("XXX") + end +``` + +Custom script: + +```lua +target("test") + set_kind("static") + add_files("src/*.cpp") + after_build(function (target) + print("build %s ok!", target:targetfile()) + end) +``` + +Extension Modules: + +```lua +target("test") + set_kind("shared") + add_files("src/*.c") + on_load(function (target) + import("lib.detect.find_package") + target:add(find_package("zlib")) + end) +``` + +## Project Examples + +Some projects using xmake: + +* [tbox](https://github.com/tboox/tbox) +* [gbox](https://github.com/tboox/gbox) +* [vm86](https://github.com/tboox/vm86) +* [more](https://github.com/tboox/awesome-xmake) + +## Example Video + +<a href="https://asciinema.org/a/133693"> +<img src="https://asciinema.org/a/133693.png" width="60%" /> +</a> + +## Contacts + +* Email:[waruqi@gmail.com](mailto:waruqi@gmail.com) +* Homepage:[tboox.org](http://www.tboox.org) +* Community:[/r/tboox on reddit](https://www.reddit.com/r/tboox/) +* ChatRoom:[Char on telegram](https://t.me/tbooxorg), [Chat on gitter](https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +* Source Code:[Github](https://github.com/tboox/xmake), [Gitee](https://gitee.com/tboox/xmake) + + |
