簡介
XMake是一個基於Lua的輕量級跨平臺自動構建工具,支持在各種主流平臺上構建項目
xmake的目標是開發者更加關注於項目本身開發,簡化項目的描述和構建,並且提供平臺無關性,使得一次編寫,隨處構建
它跟cmake、automake、premake有點類似,但是機制不同,它默認不會去生成IDE相關的工程文件,採用直接編譯,並且更加的方便易用 採用lua的工程描述語法更簡潔直觀,支持在大部分常用平臺上進行構建,以及交叉編譯
並且xmake提供了創建、配置、編譯、打包、安裝、卸載、運行等一些actions,使得開發和構建更加的方便和流程化。
不僅如此,它還提供了許多更加高級的特性,例如插件擴展、腳本宏記錄、批量打包、自動文檔生成等等。。
安裝
使用curl
bash
使用wget
bash
使用powershell
Invoke-Expression (Invoke-Webrequest 'raw.githubusercontent.com/xmake-io/xmake/master/scripts/get.ps1' -UseBasicParsing).Content
簡單的工程描述
包依賴描述
官方的xmake包管理倉庫: xmake-repo
構建工程
$ xmake
運行目標
$ xmake run console
調試程序
$ xmake run -d console
配置平臺
$ xmake f -p [windows|linux|macosx|android|iphoneos ..] -a [x86|arm64 ..] -m [debug|release]
$ xmake
圖形化菜單配置
$ xmake f --menu
架構和流程
支持平臺
- 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)
支持語言
- C/C++
- Objc/Objc++
- Swift
- Assembly
- Golang
- Rust
- Dlang
- Cuda
工程類型
- 靜態庫程序
- 動態庫類型
- 控制檯程序
- Cuda程序
- Qt應用程序
- WDK驅動程序
- WinSDK應用程序
- MFC應用程序
內置插件
生成IDE工程文件插件(makefile, vs2002 - vs2019, ...)
$ xmake project -k vs2017 -m "debug,release"
$ xmake project -k cmakelists
$ xmake project -k compile_commands
宏記錄腳本和回放插件
$ xmake m -b # 開始記錄
$ xmake f -p iphoneos -m debug
$ xmake
$ xmake f -p android --ndk=~/files/android-ndk-r16b
$ xmake
$ xmake m -e # 結束記錄
$ xmake m . # 回放命令
加載自定義lua腳本插件
$ xmake l ./test.lua
$ xmake l -c "print('hello xmake!')"
$ xmake l lib.detect.find_tool gcc
生成doxygen文檔插件
$ xmake doxygen [srcdir]
更多使用方法可以查看官方文檔
開源地址:
https://github.com/xmake-io/xmake
更多更優質的資訊,請關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。
閱讀更多 星集 的文章