summaryrefslogtreecommitdiff
path: root/xmake/rules/utils
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/rules/utils')
-rw-r--r--xmake/rules/utils/bin2c/xmake.lua3
-rw-r--r--xmake/rules/utils/compiler_runtime/xmake.lua11
2 files changed, 13 insertions, 1 deletions
diff --git a/xmake/rules/utils/bin2c/xmake.lua b/xmake/rules/utils/bin2c/xmake.lua
index 5d0dbfd31..392b2f20a 100644
--- a/xmake/rules/utils/bin2c/xmake.lua
+++ b/xmake/rules/utils/bin2c/xmake.lua
@@ -20,6 +20,7 @@
rule("utils.bin2c")
set_extensions(".bin")
+ add_orders("utils.bin2c", "c++.build.modules.builder")
on_load(function (target)
local headerdir = path.join(target:autogendir(), "rules", "utils", "bin2c")
if not os.isdir(headerdir) then
@@ -27,7 +28,7 @@ rule("utils.bin2c")
end
target:add("includedirs", headerdir)
end)
- before_buildcmd_file(function (target, batchcmds, sourcefile_bin, opt)
+ on_preparecmd_file(function (target, batchcmds, sourcefile_bin, opt)
-- get header file
local headerdir = path.join(target:autogendir(), "rules", "utils", "bin2c")
diff --git a/xmake/rules/utils/compiler_runtime/xmake.lua b/xmake/rules/utils/compiler_runtime/xmake.lua
index 1a50fddef..cd8d5297c 100644
--- a/xmake/rules/utils/compiler_runtime/xmake.lua
+++ b/xmake/rules/utils/compiler_runtime/xmake.lua
@@ -40,5 +40,16 @@ rule("utils.compiler.runtime")
end
target:set("runtimes", runtimes)
end
+
+ -- enable vs runtime as MD by default
+ if target:is_plat("windows") and not target:get("runtimes") then
+ local vs_runtime_default = target:policy("build.c++.msvc.runtime")
+ if vs_runtime_default and target:has_tool("cxx", "cl", "clang_cl") then
+ if is_mode("debug") then
+ vs_runtime_default = vs_runtime_default .. "d"
+ end
+ target:set("runtimes", vs_runtime_default)
+ end
+ end
end)