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