xmake工程描述入門

jopen 8年前發布 | 6K 次閱讀 Lua 項目構建 C/C++

xmake的工程描述文件,擯棄了makefile的繁瑣復雜,借鑒了premake的簡潔明了,原生支持lua腳本,使得更加的靈活、方便擴展。

工程默認描述文件名為xmake.lua,支持多級目錄嵌套,也可以通過以下命令,指定其他文件作為工程描述文件:

xmake -f /tmp/xxx.lua
xmake --file=xxx.lua

下面先來看一個最簡單的例子:

-- 添加一個名為demo的目標到工程
add_target("demo")

    -- 設置目標程序類型為二進制可執行程序,一般為console的終端命令行程序
    set_kind("binary")

    -- 添加src目錄下的所有c文件
    add_files("src/*.c") 

怎么樣簡單吧,這樣就已經完成了一個最簡單的工程描述。。

下面我們看一個稍微復雜一點的例子,這個例子中對release、debug模式進行了不同的設置:

-- 如果當前編譯的是debug模式
if modes("debug") then

    -- 啟用調試符號
    set_symbols("debug")

    -- 禁用優化
    set_optimize("none")
end

-- 如果當前編譯的是release模式
if modes("release") then

    -- 設置符號可見性為不可見
    set_symbols("hidden")

    -- 啟用最快優化模式
    set_optimize("fastest")

    -- 去除所有符號信息,包括調試符號
    set_strip("all")
end

-- 添加一個名為test的目標
add_target("test")

    -- 將test編譯成為靜態庫類型
    set_kind("static")

    -- 添加所有c++文件,包括子目錄(注:**表明多級遞歸匹配模式)
    add_files("src/**.cpp") 

其實也不是很復雜吧,由于采用lua語法,所以邏輯上更加的靈活,你完全可以用lua的分支、循環、函數等語法,進行更加靈活的配置。。

來自: http://segmentfault.com/a/1190000004236885

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!