Java SE Development Kit 8 mac8u181 官方最中文 / 242.3M
Adobe Dreamweaver cs6 for mac官方簡體中文中文 / 405.3M
SVN管理工具(Cornerstone Mac版)v4.0 官方最英文 / 16.5M
mac PHP集成開發(fā)工具(PhpStorm)V8.0.3官方最英文 / 124.4M
蘋果SQLite數(shù)據(jù)庫管理工具(SQLiteManager f中文 / 7.9M
Mac十六進制文本編輯器(UltraEdit)18.00.0.中文 / 56.0M
Navicat Premium for macv11.1.11 官方最新中文 / 144.7M
Editplus for macV3.80 官方最新版中文 / 12M
XMake for Mac是Mac電腦上的一款基于Lua的輕量級跨平臺自動構建工具,XMake Mac版支持在各種主流平臺上構建項目,讓開發(fā)者更加關注于項目本身開發(fā),簡化項目的描述和構建,并且提供平臺無關性,使得一次編寫,隨處構建。
這個版本主要工作還是繼續(xù)改進對工具鏈的支持,上個版本雖然通過重構實現(xiàn)了模塊化的工具鏈擴展,但是對于一次編譯想要靈活地在交叉工具鏈/Host工具鏈上切換編譯,還不能很好的支持,因此這個版本重點改進了這塊的支持力度。
另外,此版本還對使用add_requires集成的遠程依賴包下載慢的問題做了改進,增加了代理設置、本地包檢索復用的支持來改善此問題。當然,最好的方式還是搞個國內的cdn來加速下載,但是這個成本過高,暫時就不折騰了。
XMake Mac版是一款簡單,快速,跨平臺的自動構建工具,F(xiàn)代化的C/C++構建工具,多語言混合編譯支持。
XMake Mac版跟cmake、automake、premake有點類似,但是機制不同,它默認不會去生成IDE相關的工程文件,采用直接編譯,并且更加的方便易用 采用lua的工程描述語法更簡潔直觀,支持在大部分常用平臺上進行構建,以及交叉編譯,并且xmake提供了創(chuàng)建、配置、編譯、打包、安裝、卸載、運行等一些actions,使得開發(fā)和構建更加的方便和流程化。
不僅如此,它還提供了許多更加高級的特性,例如插件擴展、腳本宏記錄、批量打包、自動文檔生成等等。
多工具鏈靈活切換
關于這塊的一個example,可以參考luajit項目,里面的編譯流程需要先編譯host平臺下minilua/buildvm兩個target,然后再通過minilua/buildvm生成對應目標平臺的jit代碼參與整體luajit庫的編譯。
因此整個編譯過程需要先對特定target采用host工具鏈,然后對其他target再使用交叉工具鏈完成編譯。
那我們應該如何配置xmake.lua去實現(xiàn)這種方式呢,一種就是通過set_toolchains接口,對特定target設置指定的host工具鏈,例如:
target("buildvm")
set_kind("binary")
add_files("src/*.c")
set_toolchains("xcode", {plat = os.host(), arch = os.arch()})
target("luajit")
set_kind("static")
add_deps("buildvm")
add_files("src/*.c")
如果當前是在交叉編譯模式,即使執(zhí)行下面的命令配置成android編譯平臺,其buildvm實際還是在使用xcode編譯macOS目標程序,僅僅luajit庫是采用ndk工具鏈編譯:
$ xmake f -p android --ndk=/xxxx
但是,這還不是特別方便,尤其是跨平臺編譯時候,不同平臺的pc工具鏈都是不同的,有msvc, xcode, clang等,還需要判斷平臺來指定。
我們還可以繼續(xù)通用化,讓xmake針對不同平臺自動選用當前可用的Host工具鏈,而不是顯式指定特定工具鏈,改進成下面的版本:
target("buildvm")
set_kind("binary")
add_files("src/*.c")
set_plat(os.host())
set_host(os.arch())
target("luajit")
set_kind("static")
add_deps("buildvm")
add_files("src/*.c")
通過使用set_plat和set_arch接口,直接設置特定target到主機平臺,就可以內部自動選擇host工具鏈了。
關于這塊的完整配置例子,可以參考:https://github.com/xmake-io/xmake-repo/blob/master/packages/l/luajit/port/xmake.lua
特別說明