From 8b3be6b7ffb9c006e013a121de3aaa9e5faa9986 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 25 Nov 2024 22:38:26 +0800 Subject: add msvc toolchain test --- tests/projects/package/toolchain_msvc/src/main.c | 7 +++++++ tests/projects/package/toolchain_msvc/xmake.lua | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 tests/projects/package/toolchain_msvc/src/main.c create mode 100644 tests/projects/package/toolchain_msvc/xmake.lua diff --git a/tests/projects/package/toolchain_msvc/src/main.c b/tests/projects/package/toolchain_msvc/src/main.c new file mode 100644 index 000000000..9ae580511 --- /dev/null +++ b/tests/projects/package/toolchain_msvc/src/main.c @@ -0,0 +1,7 @@ +#include + +int main(int argc, char** argv) +{ + printf("hello world!\n"); + return 0; +} diff --git a/tests/projects/package/toolchain_msvc/xmake.lua b/tests/projects/package/toolchain_msvc/xmake.lua new file mode 100644 index 000000000..35f6a0c41 --- /dev/null +++ b/tests/projects/package/toolchain_msvc/xmake.lua @@ -0,0 +1,7 @@ +add_rules("mode.debug", "mode.release") +add_requires("msvc") + +target("test") + set_kind("binary") + add_files("src/*.c") + set_toolchains("@msvc") -- cgit v1.3.1 From a650e13a84797e6cba52052981691a6fde1cf980 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 25 Nov 2024 22:40:55 +0800 Subject: improve msvc toolchain for packages --- tests/projects/package/toolchain_msvc/xmake.lua | 1 + xmake/toolchains/clang-cl/check.lua | 13 ++++++++++++- xmake/toolchains/msvc/check.lua | 13 ++++++++++++- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/tests/projects/package/toolchain_msvc/xmake.lua b/tests/projects/package/toolchain_msvc/xmake.lua index 35f6a0c41..2b1f7b56d 100644 --- a/tests/projects/package/toolchain_msvc/xmake.lua +++ b/tests/projects/package/toolchain_msvc/xmake.lua @@ -5,3 +5,4 @@ target("test") set_kind("binary") add_files("src/*.c") set_toolchains("@msvc") + --set_toolchains("clang-cl@msvc") diff --git a/xmake/toolchains/clang-cl/check.lua b/xmake/toolchains/clang-cl/check.lua index b416a44ce..9f7022482 100644 --- a/xmake/toolchains/clang-cl/check.lua +++ b/xmake/toolchains/clang-cl/check.lua @@ -137,7 +137,6 @@ function _check_vc_build_tools(toolchain, sdkdir) end end --- main entry function main(toolchain) -- only for windows or linux (msvc-wine) @@ -154,6 +153,18 @@ function main(toolchain) if sdkdir then return _check_vc_build_tools(toolchain, sdkdir) else + -- find it from packages + for _, package in ipairs(toolchain:packages()) do + local installdir = package:installdir() + if installdir and os.isdir(installdir) then + local result = _check_vc_build_tools(toolchain, installdir) + if result then + return result + end + end + end + + -- find it from system return _check_vstudio(toolchain) end end diff --git a/xmake/toolchains/msvc/check.lua b/xmake/toolchains/msvc/check.lua index 3c70d43c0..c40d4a202 100644 --- a/xmake/toolchains/msvc/check.lua +++ b/xmake/toolchains/msvc/check.lua @@ -128,7 +128,6 @@ function _check_vc_build_tools(toolchain, sdkdir) end end --- main entry function main(toolchain) -- only for windows or linux (msvc-wine) @@ -145,6 +144,18 @@ function main(toolchain) if sdkdir then return _check_vc_build_tools(toolchain, sdkdir) else + -- find it from packages + for _, package in ipairs(toolchain:packages()) do + local installdir = package:installdir() + if installdir and os.isdir(installdir) then + local result = _check_vc_build_tools(toolchain, installdir) + if result then + return result + end + end + end + + -- find it from system return _check_vstudio(toolchain) end end -- cgit v1.3.1 From c4bc1b11a6644acda3c49f39aa7146d63695f9be Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 25 Nov 2024 22:42:25 +0800 Subject: format some codes --- tests/apis/add_deps/src/main.c | 3 +-- tests/apis/check_xxx/main.c | 3 +-- tests/apis/rules/src/main2.c | 3 +-- tests/plugins/pack/src/main.cpp | 3 +-- tests/projects/c/asn1c/src/main.c | 4 ++-- tests/projects/package/toolchain_llvm/src/main.c | 3 +-- tests/projects/package/toolchain_llvm_mingw/src/main.c | 3 +-- tests/projects/package/toolchain_msvc/src/main.c | 3 +-- 8 files changed, 9 insertions(+), 16 deletions(-) diff --git a/tests/apis/add_deps/src/main.c b/tests/apis/add_deps/src/main.c index 9ae580511..113930e1a 100644 --- a/tests/apis/add_deps/src/main.c +++ b/tests/apis/add_deps/src/main.c @@ -1,7 +1,6 @@ #include -int main(int argc, char** argv) -{ +int main(int argc, char** argv) { printf("hello world!\n"); return 0; } diff --git a/tests/apis/check_xxx/main.c b/tests/apis/check_xxx/main.c index e5a9ccbdf..9b130982d 100644 --- a/tests/apis/check_xxx/main.c +++ b/tests/apis/check_xxx/main.c @@ -1,4 +1,3 @@ -int main(int argc, char** argv) -{ +int main(int argc, char** argv) { return 0; } diff --git a/tests/apis/rules/src/main2.c b/tests/apis/rules/src/main2.c index b86c9ad8e..9a8264b1f 100644 --- a/tests/apis/rules/src/main2.c +++ b/tests/apis/rules/src/main2.c @@ -1,8 +1,7 @@ #include extern int test(int a, int b); -int main(int argc, char** argv) -{ +int main(int argc, char** argv) { printf("1 + 1 = %d\n", test(1, 1)); return 0; } diff --git a/tests/plugins/pack/src/main.cpp b/tests/plugins/pack/src/main.cpp index 7c435d251..e64ad9bc2 100644 --- a/tests/plugins/pack/src/main.cpp +++ b/tests/plugins/pack/src/main.cpp @@ -2,8 +2,7 @@ using namespace std; -int main(int argc, char** argv) -{ +int main(int argc, char** argv) { cout << "hello world!" << endl; return 0; } diff --git a/tests/projects/c/asn1c/src/main.c b/tests/projects/c/asn1c/src/main.c index cb396a543..96c6f38cf 100644 --- a/tests/projects/c/asn1c/src/main.c +++ b/tests/projects/c/asn1c/src/main.c @@ -27,8 +27,8 @@ int main(int ac, char **av) { exit(71); /* better, EX_OSERR */ } - /* - * Initialize the Rectangle members + /* + * Initialize the Rectangle members */ /* height */ diff --git a/tests/projects/package/toolchain_llvm/src/main.c b/tests/projects/package/toolchain_llvm/src/main.c index 9ae580511..113930e1a 100644 --- a/tests/projects/package/toolchain_llvm/src/main.c +++ b/tests/projects/package/toolchain_llvm/src/main.c @@ -1,7 +1,6 @@ #include -int main(int argc, char** argv) -{ +int main(int argc, char** argv) { printf("hello world!\n"); return 0; } diff --git a/tests/projects/package/toolchain_llvm_mingw/src/main.c b/tests/projects/package/toolchain_llvm_mingw/src/main.c index 9ae580511..113930e1a 100644 --- a/tests/projects/package/toolchain_llvm_mingw/src/main.c +++ b/tests/projects/package/toolchain_llvm_mingw/src/main.c @@ -1,7 +1,6 @@ #include -int main(int argc, char** argv) -{ +int main(int argc, char** argv) { printf("hello world!\n"); return 0; } diff --git a/tests/projects/package/toolchain_msvc/src/main.c b/tests/projects/package/toolchain_msvc/src/main.c index 9ae580511..113930e1a 100644 --- a/tests/projects/package/toolchain_msvc/src/main.c +++ b/tests/projects/package/toolchain_msvc/src/main.c @@ -1,7 +1,6 @@ #include -int main(int argc, char** argv) -{ +int main(int argc, char** argv) { printf("hello world!\n"); return 0; } -- cgit v1.3.1