diff options
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 4ab054ba6..900041c35 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -571,8 +571,18 @@ function _finish_requireinfo(requireinfo, package) end requireinfo.configs = requireinfo.configs or {} if not package:is_headeronly() then - if requireinfo.configs.runtimes == nil and package:is_plat("windows") then - requireinfo.configs.runtimes = "MT" + if package:is_plat("windows") then + -- @see https://github.com/xmake-io/xmake/issues/4477#issuecomment-1913249489 + local runtimes = requireinfo.configs.runtimes + if runtimes then + runtimes = runtimes:split(",") + else + runtimes = {} + end + if not table.contains(runtimes, "MT", "MD", "MTd", "MDd") then + table.insert(runtimes, "MT") + end + requireinfo.configs.runtimes = table.concat(runtimes, ",") end end -- we need to ensure readonly configs |
