1. 程式人生 > >跨平臺自動構建工具v1.0.2 釋出

跨平臺自動構建工具v1.0.2 釋出

XMake是一個跨平臺自動構建工具,支援在各種主流平臺上構建專案,類似cmake、automake、premake,但是更加的方便易用,工程描述語法更簡潔直觀,支援平臺更多,並且集建立、配置、編譯、打包、安裝、解除安裝、運行於一體。

支援特性

  1. 支援windows、mac、linux、ios、android等平臺,自動檢測不同平臺上的編譯工具鏈(也可手動配置)
    編譯windows專案採用原生vs的工具鏈,不需要使用cygwin、mingw(當然這些也支援)

  2. 支援自定義平臺編譯配置,可以很方便的擴充套件第三方平臺支援

  3. 採用lua指令碼語法描述專案,描述規則簡單高效,邏輯規則可靈活修改,並且不會生成相關平臺的工程檔案,是工程更加簡單明瞭

  4. 支援建立模板工程、配置專案、編譯專案、執行、打包、安裝和解除安裝等常用功能(後續還會增加:自動生成文件、除錯等模組)

  5. 支援編譯c/c++/objc成靜態庫、動態庫、命令列可執行程式(後續還會增加:mac、ios、android的app的生成規則)

  6. 提供豐富的工程描述api,使用簡單靈活,例如新增編譯檔案只需(還支援過濾排除):

    add_files("src/*.c", "src/asm/**.S", "src/*.m")

  7. 支援標頭檔案、介面、連結庫依賴、型別的自動檢測,並可自動生成配置標頭檔案config.h

  8. 支援自定義編譯配置開關,例如如果在工程描述檔案中增加了enable_xxx的開關,那麼配置編譯的時候就可以手動進行配置來啟用它:

    xmake config --enable_xxx=true

  9. 提供一鍵打包功能,不管在哪個平臺上進行打包,都只需要執行一條相同的命令,非常的方便

  10. 支援自定義編譯工具和規則,例如想要增加對masm/yasm的編譯規則,只需將自己寫的masm.lua/yasm.lua規則檔案,放到當前專案目錄下即可。。

  11. 支援全域性配置,一些常用的專案配置,例如工具鏈、規則描述等等,都可以進行全域性配置,這樣就不需要每次編譯不同工程,都去配置一遍

  12. 除了可以自動檢測依賴模組,也支援手動強制配置模組,還有各種編譯flags。

也可以參考使用xmake的實際專案:TBOX

後續工作

  1. 完善打包模組,支援對ios、mac、android的app進行一鍵打包和簽名,生成.ipa、.apk、.app的應用程式檔案
  2. 完善安裝功能,支援對ios、android的app進行安裝到裝置
  3. 實現除錯功能
  4. 實現自動生成doxygen文件功能
  5. 增加一些實用的工程描述api,例如:下載api,可以自動下載缺少的依賴庫等等。。
  6. 解析automake、cmake的工程,並自動生成xmake的描述檔案,實現無縫編譯(如果這個實現成功的話,以後移植編譯一些開原始碼就更方便了)