diff options
| author | ruki <[email protected]> | 2021-09-08 23:56:21 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-09-08 23:56:21 +0800 |
| commit | 24bcec72c46c177f53c6ac9b80a88d2fab05e4b8 (patch) | |
| tree | 2c14345cc23f2986a2ea497cc4cc39b340fe5a0e | |
| parent | a68c603d0e1d95d372fbc99176372914d74ea4e8 (diff) | |
| parent | 0b151b821c8c34dfa445fbe938b0acb316145858 (diff) | |
Merge pull request #1659 from SirLynix/cmake-fix
Improve cmake
| -rw-r--r-- | xmake/modules/package/tools/cmake.lua | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/xmake/modules/package/tools/cmake.lua b/xmake/modules/package/tools/cmake.lua index c13b48356..65d5d3b1d 100644 --- a/xmake/modules/package/tools/cmake.lua +++ b/xmake/modules/package/tools/cmake.lua @@ -133,12 +133,6 @@ function _get_cflags(package, opt) table.join2(result, opt.cxflags) end table.join2(result, _get_cflags_from_packagedeps(package, opt)) - if package:is_plat("windows") then - local vs_runtime = package:config("vs_runtime") - if vs_runtime then - table.insert(result, "/" .. vs_runtime) - end - end if #result > 0 then return os.args(result) end @@ -164,12 +158,6 @@ function _get_cxxflags(package, opt) table.join2(result, opt.cxflags) end table.join2(result, _get_cflags_from_packagedeps(package, opt)) - if package:is_plat("windows") then - local vs_runtime = package:config("vs_runtime") - if vs_runtime then - table.insert(result, "/" .. vs_runtime) - end - end if #result > 0 then return os.args(result) end @@ -283,6 +271,15 @@ function _get_configs_for_windows(package, configs, opt) elseif vs_runtime == "MDd" then table.insert(configs, "-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebugDLL") end + if vs_runtime then + -- CMake default MSVC flags as of 3.21.2 + local default_debug_flags = "/Zi /Ob0 /Od /RTC1" + local default_release_flags = "/O2 /Ob2 /DNDEBUG" + table.insert(configs, '-DCMAKE_CXX_FLAGS_DEBUG="/' .. vs_runtime .. ' ' .. default_debug_flags .. '"') + table.insert(configs, '-DCMAKE_CXX_FLAGS_RELEASE="/' .. vs_runtime .. ' ' .. default_release_flags .. '"') + table.insert(configs, '-DCMAKE_C_FLAGS_DEBUG="/' .. vs_runtime .. ' ' .. default_debug_flags .. '"') + table.insert(configs, '-DCMAKE_C_FLAGS_RELEASE="/' .. vs_runtime .. ' ' .. default_release_flags .. '"') + end _get_configs_for_generic(package, configs, opt) end |
