aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md256
1 files changed, 185 insertions, 71 deletions
diff --git a/README.md b/README.md
index e195c847..35d70644 100644
--- a/README.md
+++ b/README.md
@@ -1,99 +1,213 @@
----
-search: en
----
-
-<p>
-<div align="center">
- <a href="https://xmake.io">
- <img width="200" heigth="200" src="https://tboox.org/static/img/xmake/logo256c.png">
- </a>
-
- <h1>xmake</h1>
-
- <div>
- <a href="https://travis-ci.org/xmake-io/xmake">
- <img src="https://img.shields.io/travis/xmake-io/xmake/master.svg?style=flat-square" alt="travis-ci" />
- </a>
- <a href="https://ci.appveyor.com/project/waruqi/xmake/branch/master">
- <img src="https://img.shields.io/appveyor/ci/waruqi/xmake/master.svg?style=flat-square" alt="appveyor-ci" />
- </a>
- <a href="https://aur.archlinux.org/packages/xmake">
- <img src="https://img.shields.io/aur/votes/xmake.svg?style=flat-square" alt="AUR votes" />
- </a>
- <a href="https://github.com/xmake-io/xmake/releases">
- <img src="https://img.shields.io/github/release/xmake-io/xmake.svg?style=flat-square" alt="Github All Releases" />
- </a>
- </div>
- <div>
- <a href="https://github.com/xmake-io/xmake/blob/master/LICENSE.md">
- <img src="https://img.shields.io/github/license/xmake-io/xmake.svg?colorB=f48041&style=flat-square" alt="license" />
- </a>
- <a href="https://www.reddit.com/r/tboox/">
- <img src="https://img.shields.io/badge/chat-on%20reddit-ff3f34.svg?style=flat-square" alt="Reddit" />
- </a>
- <a href="https://gitter.im/tboox/tboox?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge">
- <img src="https://img.shields.io/gitter/room/tboox/tboox.svg?style=flat-square&colorB=96c312" alt="Gitter" />
- </a>
- <a href="https://t.me/tbooxorg">
- <img src="https://img.shields.io/badge/chat-on%20telegram-blue.svg?style=flat-square" alt="Telegram" />
- </a>
- <a href="https://jq.qq.com/?_wv=1027&k=5hpwWFv">
- <img src="https://img.shields.io/badge/chat-on%20QQ-ff69b4.svg?style=flat-square" alt="QQ" />
- </a>
- <a href="https://xmake.io/pages/donation.html#donate">
- <img src="https://img.shields.io/badge/donate-us-orange.svg?style=flat-square" alt="Donate" />
- </a>
- </div>
-
- <p>A cross-platform build utility based on Lua</p>
-</div>
-</p>
-
-## Introduction
-
-xmake is a cross-platform build utility based on lua.
-
-The project focuses on making development and building easier and provides many features (.e.g package, install, plugin, macro, action, option, task ...),
-so that any developer can quickly pick it up and enjoy the productivity boost when developing and building project.
-
## Installation
-#### Master
-
-##### via curl
+#### via curl
```bash
bash <(curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh)
```
-##### via wget
+#### via wget
```bash
bash <(wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -)
```
-##### via powershell
+#### via powershell
```bash
Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1' -UseBasicParsing).Content
```
-#### Windows
+## Simple description
+
+<img src="/assets/img/index/showcode1.png" width="40%" />
+
+## Package dependences
+
+<img src="/assets/img/index/add_require.png" width="70%" />
+
+An official xmake package repository: [xmake-repo](https://github.com/xmake-io/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="/assets/img/index/menuconf.png" width="80%" />
+
+## Package management
+
+<img src="/assets/img/index/package_manage.png" width="80%" />
+
+## Support platforms
+
+* Windows (x86, x64)
+* Macosx (i386, x86_64)
+* Linux (i386, x86_64, cross-toolchains ...)
+* Android (armv5te, armv6, armv7-a, armv8-a, arm64-v8a)
+* iPhoneOS (armv7, armv7s, arm64, i386, x86_64)
+* WatchOS (armv7k, i386)
+* Mingw (i386, x86_64)
+
+## Support Languages
+
+* C/C++
+* Objc/Objc++
+* Swift
+* Assembly
+* Golang
+* Rust
+* Dlang
+* Cuda
+
+## Support Projects
-##### via installer
+* Static Library
+* Shared Library
+* Console
+* Cuda Program
+* Qt Application
+* WDK Driver (umdf/kmdf/wdm)
+* WinSDK Application
-1. Download xmake windows installer from [Releases](https://github.com/xmake-io/xmake/releases)
-2. Run xmake-[version].exe
+## Builtin Plugins
-##### via scoop
+#### Macros script plugin
```bash
-scoop install xmake
+$ 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
```
-#### MacOS
+#### Run the custom lua script plugin
```bash
-$ brew install xmake
+$ 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/xmake-io/xmake-plugins).
+
+## IDE/Editor Integration
+
+* [xmake-vscode](https://github.com/xmake-io/xmake-vscode)
+
+<img src="https://raw.githubusercontent.com/tboox/xmake-vscode/master/res/problem.gif" width="60%" />
+
+* [xmake-sublime](https://github.com/xmake-io/xmake-sublime)
+
+<img src="https://raw.githubusercontent.com/tboox/xmake-sublime/master/res/problem.gif" width="60%" />
+
+* [xmake-idea](https://github.com/xmake-io/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_mode("debug") then
+ add_defines("DEBUG")
+ end
+```
+
+Download and use remote packages:
+
+```lua
+add_requires("libuv master", "ffmpeg", "zlib 1.20.*")
+add_requires("tbox >1.6.1", {optional = true, debug = true})
+target("test")
+ set_kind("shared")
+ add_files("src/*.c")
+ add_packages("libuv", "ffmpeg", "tbox", "zlib")
+```
+
+Find and use local packages:
+
+```lua
+target("test")
+ set_kind("shared")
+ add_files("src/*.c")
+ on_load(function (target)
+ import("lib.detect.find_package")
+ target:add(find_package("zlib"))
+ target:add(find_package("openssl"))
+ 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](https://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/xmake-io/xmake), [Gitee](https://gitee.com/tboox/xmake)