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十六進(jìn)制文本編輯器(UltraEdit)18.00.0.中文 / 56.0M
Navicat Premium for macv11.1.11 官方最新中文 / 144.7M
Editplus for macV3.80 官方最新版中文 / 12M
XMake for Mac是Mac電腦上的一款基于Lua的輕量級跨平臺自動構(gòu)建工具,XMake Mac版支持在各種主流平臺上構(gòu)建項目,讓開發(fā)者更加關(guān)注于項目本身開發(fā),簡化項目的描述和構(gòu)建,并且提供平臺無關(guān)性,使得一次編寫,隨處構(gòu)建。
這個版本主要工作還是繼續(xù)改進(jìn)對工具鏈的支持,上個版本雖然通過重構(gòu)實(shí)現(xiàn)了模塊化的工具鏈擴(kuò)展,但是對于一次編譯想要靈活地在交叉工具鏈/Host工具鏈上切換編譯,還不能很好的支持,因此這個版本重點(diǎn)改進(jìn)了這塊的支持力度。
另外,此版本還對使用add_requires集成的遠(yuǎn)程依賴包下載慢的問題做了改進(jìn),增加了代理設(shè)置、本地包檢索復(fù)用的支持來改善此問題。當(dāng)然,最好的方式還是搞個國內(nèi)的cdn來加速下載,但是這個成本過高,暫時就不折騰了。
XMake Mac版是一款簡單,快速,跨平臺的自動構(gòu)建工具,F(xiàn)代化的C/C++構(gòu)建工具,多語言混合編譯支持。
XMake Mac版跟cmake、automake、premake有點(diǎn)類似,但是機(jī)制不同,它默認(rèn)不會去生成IDE相關(guān)的工程文件,采用直接編譯,并且更加的方便易用 采用lua的工程描述語法更簡潔直觀,支持在大部分常用平臺上進(jìn)行構(gòu)建,以及交叉編譯,并且xmake提供了創(chuàng)建、配置、編譯、打包、安裝、卸載、運(yùn)行等一些actions,使得開發(fā)和構(gòu)建更加的方便和流程化。
不僅如此,它還提供了許多更加高級的特性,例如插件擴(kuò)展、腳本宏記錄、批量打包、自動文檔生成等等。
多工具鏈靈活切換
關(guān)于這塊的一個example,可以參考luajit項目,里面的編譯流程需要先編譯host平臺下minilua/buildvm兩個target,然后再通過minilua/buildvm生成對應(yīng)目標(biāo)平臺的jit代碼參與整體luajit庫的編譯。
因此整個編譯過程需要先對特定target采用host工具鏈,然后對其他target再使用交叉工具鏈完成編譯。
那我們應(yīng)該如何配置xmake.lua去實(shí)現(xiàn)這種方式呢,一種就是通過set_toolchains接口,對特定target設(shè)置指定的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")
如果當(dāng)前是在交叉編譯模式,即使執(zhí)行下面的命令配置成android編譯平臺,其buildvm實(shí)際還是在使用xcode編譯macOS目標(biāo)程序,僅僅luajit庫是采用ndk工具鏈編譯:
$ xmake f -p android --ndk=/xxxx
但是,這還不是特別方便,尤其是跨平臺編譯時候,不同平臺的pc工具鏈都是不同的,有msvc, xcode, clang等,還需要判斷平臺來指定。
我們還可以繼續(xù)通用化,讓xmake針對不同平臺自動選用當(dāng)前可用的Host工具鏈,而不是顯式指定特定工具鏈,改進(jìn)成下面的版本:
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接口,直接設(shè)置特定target到主機(jī)平臺,就可以內(nèi)部自動選擇host工具鏈了。
關(guān)于這塊的完整配置例子,可以參考:https://github.com/xmake-io/xmake-repo/blob/master/packages/l/luajit/port/xmake.lua
特別說明
聲明:西西軟件園為非贏利性網(wǎng)站 不接受任何贊助和廣告