generated from LiteLDev/levilamina-mod-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxmake.lua
More file actions
74 lines (68 loc) · 2.27 KB
/
xmake.lua
File metadata and controls
74 lines (68 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
add_rules("mode.debug", "mode.release")
add_repositories("liteldev-repo https://github.com/LiteLDev/xmake-repo.git")
add_repositories("groupmountain-repo https://github.com/GroupMountain/xmake-repo.git")
add_requires("levilamina 1.0.1", {configs = {target_type = "server"}})
add_requires("levibuildscript 0.3.0")
add_requires("gmlib 0.13.10")
if not has_config("vs_runtime") then
set_runtimes("MD")
end
target("Waila")
add_rules("@levibuildscript/linkrule")
add_rules("@levibuildscript/modpacker")
add_cxflags(
"/EHa",
"/utf-8",
"/W4",
"/w44265",
"/w44289",
"/w44296",
"/w45263",
"/w44738",
"/w45204"
)
add_defines(
"NOMINMAX",
"UNICODE",
"_HAS_CXX17",
"_HAS_CXX20",
"_HAS_CXX23",
"WAILA_EXPORT"
)
add_packages("levilamina")
set_exceptions("none")
set_kind("shared")
set_languages("cxx20")
set_symbols("debug")
add_headerfiles("src/(waila/api/**.h)")
add_files("src/**.cpp")
add_files("src/**.rc")
add_includedirs("src", "$(buildir)/config")
set_configdir("$(buildir)/config")
set_configvar("Waila_WORKSPACE_FOLDER", "$(projectdir)")
add_configfiles("src/(waila/**.h.in)")
set_optimize("fastest")
after_build(function (target)
local lang_output = path.join(os.projectdir(), "bin", target:name(), "lang")
os.rm(lang_output)
os.cp(path.join(os.projectdir(), "lang"), lang_output)
end)
on_load(function (target)
local major, minor, patch, suffix = os.iorun("git describe --tags --abbrev=0 --always"):match("v(%d+)%.(%d+)%.(%d+)(.*)")
if not major then
print("Failed to parse version tag, using 0.0.0")
major, minor, patch = 0, 0, 0
end
if suffix then
prerelease = suffix:match("-(.*)")
if prerelease then
prerelease = prerelease:gsub("\n", "")
end
if prerelease then
target:set("configvar", "Waila_VERSION_PRERELEASE", prerelease)
end
end
target:set("configvar", "Waila_VERSION_MAJOR", major)
target:set("configvar", "Waila_VERSION_MINOR", minor)
target:set("configvar", "Waila_VERSION_PATCH", patch)
end)