diff options
| author | ruki <[email protected]> | 2024-12-24 10:36:53 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-12-24 10:36:53 +0800 |
| commit | c2d7c1d703c6716ae46fdfad46dc09ace18be559 (patch) | |
| tree | 268199003bfac15f80720e416d48fc2a55fb6bed | |
| parent | 4f408ebd0c944fecb9777c5b07ec57af1f5798b2 (diff) | |
| parent | 0a381cb3638bde102c8ce45d7a6f669b86ffd0bd (diff) | |
Merge pull request #5998 from ifarbod/feature/clang-cl-arm-support
Add ARM target support for Windows in clang-cl toolchain
| -rw-r--r-- | xmake/toolchains/clang-cl/load.lua | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/xmake/toolchains/clang-cl/load.lua b/xmake/toolchains/clang-cl/load.lua index 3763b8d2e..f73499118 100644 --- a/xmake/toolchains/clang-cl/load.lua +++ b/xmake/toolchains/clang-cl/load.lua @@ -75,16 +75,24 @@ function main(toolchain) end end - local march + local target if toolchain:is_arch("x86_64", "x64") then - march = "-m64" - elseif toolchain:is_arch("i386", "x86") then - march = "-m32" + target = "x86_64-pc" + elseif toolchain:is_arch("i386", "x86", "i686") then + target = "i686-pc" + elseif toolchain:is_arch("arm64", "aarch64") then + target = "aarch64" + elseif toolchain:is_arch("arm64ec") then + target = "arm64ec" + elseif toolchain:is_arch("arm") then + target = "armv7" end - if march then - toolchain:add("cxflags", march) - toolchain:add("mxflags", march) - toolchain:add("asflags", march) + + target = target .. "-windows-msvc" + if target then + toolchain:add("cxflags", "--target=" .. target) + toolchain:add("mxflags", "--target=" .. target) + toolchain:add("asflags", "--target=" .. target) end end |
