C++構建工具,採用lua語法接口API描述項目

輕量級跨平臺C/C++構建工具,採用lua語法接口API描述項目

簡介

XMake是一個基於Lua的輕量級跨平臺自動構建工具,支持在各種主流平臺上構建項目

xmake的目標是開發者更加關注於項目本身開發,簡化項目的描述和構建,並且提供平臺無關性,使得一次編寫,隨處構建

它跟cmake、automake、premake有點類似,但是機制不同,它默認不會去生成IDE相關的工程文件,採用直接編譯,並且更加的方便易用 採用lua的工程描述語法更簡潔直觀,支持在大部分常用平臺上進行構建,以及交叉編譯

並且xmake提供了創建、配置、編譯、打包、安裝、卸載、運行等一些actions,使得開發和構建更加的方便和流程化。

不僅如此,它還提供了許多更加高級的特性,例如插件擴展、腳本宏記錄、批量打包、自動文檔生成等等。。

輕量級跨平臺C/C++構建工具,採用lua語法接口API描述項目

安裝

使用curl

bash 

使用wget

bash 

使用powershell

Invoke-Expression (Invoke-Webrequest 'raw.githubusercontent.com/xmake-io/xmake/master/scripts/get.ps1' -UseBasicParsing).Content

簡單的工程描述

輕量級跨平臺C/C++構建工具,採用lua語法接口API描述項目

包依賴描述

輕量級跨平臺C/C++構建工具,採用lua語法接口API描述項目

官方的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

架構和流程

輕量級跨平臺C/C++構建工具,採用lua語法接口API描述項目

支持平臺

  • 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

更多更優質的資訊,請關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。


分享到:


相關文章: