diff options
| -rw-r--r-- | tests/projects/c++/modules/test_base.lua | 3 | ||||
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/tests/projects/c++/modules/test_base.lua b/tests/projects/c++/modules/test_base.lua index 466a59e98..6f2a42088 100644 --- a/tests/projects/c++/modules/test_base.lua +++ b/tests/projects/c++/modules/test_base.lua @@ -95,7 +95,8 @@ function build_tests(toolchain_name, opt) if opt.runtimes then runtimes = " --runtimes=" .. opt.runtimes .. " " end - print("running with config: (toolchain: %s, compiler: %s, version: %s, runtimes: %s, stdmodule: %s, fallback scanner: %s, two phases: %s)", toolchain_name, compiler, version, opt.runtimes or "default", opt.stdmodule or false, opt.fallbackscanner or false, two_phases) + print("running with config: (toolchain: %s, compiler: %s, version: %s, runtimes: %s, stdmodule: %s, fallback scanner: %s, two phases: %s)", + toolchain_name, compiler, version, opt.runtimes or "default", opt.stdmodule or false, opt.fallbackscanner or false, two_phases) local flags = "" if opt.flags then diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 9fb765f21..90efb3751 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -546,7 +546,8 @@ function _finish_requireinfo(requireinfo, package) else runtimes = {} end - if not table.contains(runtimes, "MT", "MD", "MTd", "MDd") then + -- we should not set default runtimes if runtimes has been set, e.g. `xmake f --toolchain=clang --runtimes=c++_shared` + if #runtimes == 0 then local vs_runtime_default = project.policy("build.c++.msvc.runtime") if vs_runtime_default and is_mode("debug") then vs_runtime_default = vs_runtime_default .. "d" |
