aboutsummaryrefslogtreecommitdiff
path: root/getting_started.md
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2019-06-23 20:48:18 +0800
committerruki <waruqi@gmail.com>2019-06-23 20:48:18 +0800
commit6f7387e12aeac26276b520137101b7f97f1d2ada (patch)
treec8de5db2504e159eb6abcb63d705d338db44d4d1 /getting_started.md
parent4ac242122f78a558d5c2fbc9a13a3c5282887524 (diff)
downloadxmake-docs-6f7387e12aeac26276b520137101b7f97f1d2ada.tar.gz
xmake-docs-6f7387e12aeac26276b520137101b7f97f1d2ada.zip
fix some links
Diffstat (limited to 'getting_started.md')
-rw-r--r--getting_started.md213
1 files changed, 213 insertions, 0 deletions
diff --git a/getting_started.md b/getting_started.md
new file mode 100644
index 00000000..35d70644
--- /dev/null
+++ b/getting_started.md
@@ -0,0 +1,213 @@
+## Installation
+
+#### via curl
+
+```bash
+bash <(curl -fsSL https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh)
+```
+
+#### via wget
+
+```bash
+bash <(wget https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.sh -O -)
+```
+
+#### via powershell
+
+```bash
+Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/tboox/xmake/master/scripts/get.ps1' -UseBasicParsing).Content
+```
+
+## 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
+
+* 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/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)