diff --git a/packages/d/duilib_ultimate/port/xmake.lua b/packages/d/duilib_ultimate/port/xmake.lua new file mode 100644 index 00000000000..a9be3733f5b --- /dev/null +++ b/packages/d/duilib_ultimate/port/xmake.lua @@ -0,0 +1,29 @@ +option("unicode", {default = true}) + +add_rules("mode.debug", "mode.release") + +set_languages("c++11") + +target("DuiLib") + set_kind("$(kind)") + add_files("DuiLib/**.cpp|DuiLib/StdAfx.cpp") + add_includedirs("DuiLib") + set_pcxxheader("DuiLib/StdAfx.h") + + if is_kind("shared") then + add_defines("UILIB_EXPORTS") + elseif is_kind("static") then + add_defines("UILIB_STATIC", {public = true}) + end + + if has_config("unicode") then + add_defines("UNICODE", "_UNICODE", {public = true}) + end + + if is_plat("windows") then + add_syslinks("gdi32", "comctl32", "imm32", "uuid", "winmm") + end + + add_headerfiles("DuiLib/(**.h)") + add_installfiles("DuiLib/Utils/Flash11.tlb", {prefixdir = "include/Utils"}) + add_installfiles("DuiLib/Utils/flash11.tlh", {prefixdir = "include/Utils"}) diff --git a/packages/d/duilib_ultimate/xmake.lua b/packages/d/duilib_ultimate/xmake.lua new file mode 100644 index 00000000000..78969479503 --- /dev/null +++ b/packages/d/duilib_ultimate/xmake.lua @@ -0,0 +1,37 @@ +package("duilib_ultimate") + set_homepage("https://github.com/qdtroy/DuiLib_Ultimate") + set_description("DuiLib_Ultimate is the Optimized version for duilib library") + set_license("MIT") + + add_urls("https://github.com/qdtroy/DuiLib_Ultimate/archive/refs/tags/$(version).tar.gz", + "https://github.com/qdtroy/DuiLib_Ultimate.git") + + add_versions("0.3", "4a650267e98d8b19818bdeb7675dcf1403017732b961620678e1d2d81f81db91") + + add_configs("unicode", {description = "Enable Unicode support.", default = true, type = "boolean"}) + + add_syslinks("gdi32", "comctl32", "imm32", "uuid", "winmm") + + on_install("windows|!arm64", function (package) + local configs = {unicode = package:config("unicode")} + if not package:config("shared") then + package:add("defines", "UILIB_STATIC") + end + if configs.unicode then + package:add("defines", "UNICODE", "_UNICODE") + end + + os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua") + import("package.tools.xmake").install(package, configs) + os.cp("bin", package:installdir()) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + #include "UIlib.h" + using namespace DuiLib; + void test() { + CButtonUI *pButton = new CButtonUI(); + } + ]]})) + end)