From d32859aa18fe79e2876bdb793956c15e0479aaee Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 7 Aug 2022 23:59:48 +0800 Subject: add some tests for cppmodules --- tests/projects/c++/modules/hello/test.lua | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/projects/c++/modules/hello/test.lua (limited to 'tests/projects/c++/modules/hello/test.lua') diff --git a/tests/projects/c++/modules/hello/test.lua b/tests/projects/c++/modules/hello/test.lua new file mode 100644 index 000000000..76b141d6b --- /dev/null +++ b/tests/projects/c++/modules/hello/test.lua @@ -0,0 +1,20 @@ +import("lib.detect.find_tool") +import("core.base.semver") + +function main(t) + local test = false + if is_subhost("windows") then + test = true + elseif is_host("linux", "macosx") then + local gcc = find_tool("gcc", {version = true}) + local clang = find_tool("clang", {version = true}) + if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then + test = true + elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + end + if test then + os.exec("xmake") + end +end -- cgit v1.3.1 From c6ee1e60c83626215ba3f1bf8471fcc72ab3d4b4 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 8 Aug 2022 21:01:10 +0800 Subject: fix tests --- tests/projects/c++/modules/class/test.lua | 8 +++++--- tests/projects/c++/modules/cpp_with_moduledeps/test.lua | 8 +++++--- tests/projects/c++/modules/dependence/test.lua | 8 +++++--- tests/projects/c++/modules/dependence2/test.lua | 8 +++++--- tests/projects/c++/modules/hello with spaces/test.lua | 8 +++++--- tests/projects/c++/modules/hello/test.lua | 8 +++++--- tests/projects/c++/modules/impl_unit/test.lua | 8 +++++--- tests/projects/c++/modules/inline_and_template/test.lua | 8 +++++--- tests/projects/c++/modules/staticlib/test.lua | 8 +++++--- tests/projects/c++/modules/submodules/test.lua | 8 +++++--- tests/projects/c++/modules/submodules2/test.lua | 8 +++++--- 11 files changed, 55 insertions(+), 33 deletions(-) (limited to 'tests/projects/c++/modules/hello/test.lua') diff --git a/tests/projects/c++/modules/class/test.lua b/tests/projects/c++/modules/class/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/class/test.lua +++ b/tests/projects/c++/modules/class/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/cpp_with_moduledeps/test.lua b/tests/projects/c++/modules/cpp_with_moduledeps/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/cpp_with_moduledeps/test.lua +++ b/tests/projects/c++/modules/cpp_with_moduledeps/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/dependence/test.lua b/tests/projects/c++/modules/dependence/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/dependence/test.lua +++ b/tests/projects/c++/modules/dependence/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/dependence2/test.lua b/tests/projects/c++/modules/dependence2/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/dependence2/test.lua +++ b/tests/projects/c++/modules/dependence2/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/hello with spaces/test.lua b/tests/projects/c++/modules/hello with spaces/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/hello with spaces/test.lua +++ b/tests/projects/c++/modules/hello with spaces/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/hello/test.lua b/tests/projects/c++/modules/hello/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/hello/test.lua +++ b/tests/projects/c++/modules/hello/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/impl_unit/test.lua b/tests/projects/c++/modules/impl_unit/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/impl_unit/test.lua +++ b/tests/projects/c++/modules/impl_unit/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/inline_and_template/test.lua b/tests/projects/c++/modules/inline_and_template/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/inline_and_template/test.lua +++ b/tests/projects/c++/modules/inline_and_template/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/staticlib/test.lua b/tests/projects/c++/modules/staticlib/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/staticlib/test.lua +++ b/tests/projects/c++/modules/staticlib/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/submodules/test.lua b/tests/projects/c++/modules/submodules/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/submodules/test.lua +++ b/tests/projects/c++/modules/submodules/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then diff --git a/tests/projects/c++/modules/submodules2/test.lua b/tests/projects/c++/modules/submodules2/test.lua index 76b141d6b..b2cc5b3da 100644 --- a/tests/projects/c++/modules/submodules2/test.lua +++ b/tests/projects/c++/modules/submodules2/test.lua @@ -5,13 +5,15 @@ function main(t) local test = false if is_subhost("windows") then test = true - elseif is_host("linux", "macosx") then + elseif is_host("linux") then local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + test = true + end + elseif is_host("macosx") then local clang = find_tool("clang", {version = true}) if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then test = true - elseif gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true end end if test then -- cgit v1.3.1 From ebaa26b0153d68a0f8cee6e135793fd079cca5f4 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 9 Aug 2022 22:58:25 +0800 Subject: improve test --- tests/projects/c++/modules/class/test.lua | 23 +----------- .../c++/modules/cpp_with_moduledeps/test.lua | 23 +----------- .../projects/c++/modules/dependence/CMakeLists.txt | 43 ++++++++++++++++++++++ tests/projects/c++/modules/dependence/test.lua | 23 +----------- tests/projects/c++/modules/dependence2/test.lua | 23 +----------- .../c++/modules/hello with spaces/test.lua | 23 +----------- tests/projects/c++/modules/hello/test.lua | 23 +----------- tests/projects/c++/modules/impl_unit/test.lua | 23 +----------- .../c++/modules/inline_and_template/test.lua | 23 +----------- tests/projects/c++/modules/staticlib/test.lua | 23 +----------- tests/projects/c++/modules/submodules/test.lua | 23 +----------- tests/projects/c++/modules/submodules2/test.lua | 23 +----------- tests/projects/c++/modules/test_base.lua | 21 +++++++++++ 13 files changed, 75 insertions(+), 242 deletions(-) create mode 100644 tests/projects/c++/modules/dependence/CMakeLists.txt create mode 100644 tests/projects/c++/modules/test_base.lua (limited to 'tests/projects/c++/modules/hello/test.lua') diff --git a/tests/projects/c++/modules/class/test.lua b/tests/projects/c++/modules/class/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/class/test.lua +++ b/tests/projects/c++/modules/class/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/cpp_with_moduledeps/test.lua b/tests/projects/c++/modules/cpp_with_moduledeps/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/cpp_with_moduledeps/test.lua +++ b/tests/projects/c++/modules/cpp_with_moduledeps/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/dependence/CMakeLists.txt b/tests/projects/c++/modules/dependence/CMakeLists.txt new file mode 100644 index 000000000..19eb7793a --- /dev/null +++ b/tests/projects/c++/modules/dependence/CMakeLists.txt @@ -0,0 +1,43 @@ +# this is the build file for project +# it is autogenerated by the xmake build system. +# do not edit by hand. + +# project +cmake_minimum_required(VERSION 3.15.0) +cmake_policy(SET CMP0091 NEW) +project(dependence LANGUAGES CXX C) + +# target +add_executable(dependence "") +set_target_properties(dependence PROPERTIES OUTPUT_NAME "dependence") +set_target_properties(dependence PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/build/macosx/x86_64/release") +target_compile_options(dependence PRIVATE + $<$:-m64> + $<$:-m64> + $<$:-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk> + $<$:-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk> + $<$:-fmodules> + $<$:-fbuiltin-module-map> + $<$:-fimplicit-modules> + $<$:-fno-implicit-module-maps> +) +target_compile_features(dependence PRIVATE cxx_std_20) +if(MSVC) + set_property(TARGET dependence PROPERTY + MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") +endif() +target_link_options(dependence PRIVATE + -m64 + -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk +) +target_sources(dependence PRIVATE + src/hello_impl.cpp + src/mod_impl.cpp + src/main.cpp + src/hello_impl.cpp + src/mod_impl.cpp + src/main.cpp + src/mod.mpp + src/hello.mpp +) + diff --git a/tests/projects/c++/modules/dependence/test.lua b/tests/projects/c++/modules/dependence/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/dependence/test.lua +++ b/tests/projects/c++/modules/dependence/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/dependence2/test.lua b/tests/projects/c++/modules/dependence2/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/dependence2/test.lua +++ b/tests/projects/c++/modules/dependence2/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/hello with spaces/test.lua b/tests/projects/c++/modules/hello with spaces/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/hello with spaces/test.lua +++ b/tests/projects/c++/modules/hello with spaces/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/hello/test.lua b/tests/projects/c++/modules/hello/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/hello/test.lua +++ b/tests/projects/c++/modules/hello/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/impl_unit/test.lua b/tests/projects/c++/modules/impl_unit/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/impl_unit/test.lua +++ b/tests/projects/c++/modules/impl_unit/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/inline_and_template/test.lua b/tests/projects/c++/modules/inline_and_template/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/inline_and_template/test.lua +++ b/tests/projects/c++/modules/inline_and_template/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/staticlib/test.lua b/tests/projects/c++/modules/staticlib/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/staticlib/test.lua +++ b/tests/projects/c++/modules/staticlib/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/submodules/test.lua b/tests/projects/c++/modules/submodules/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/submodules/test.lua +++ b/tests/projects/c++/modules/submodules/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/submodules2/test.lua b/tests/projects/c++/modules/submodules2/test.lua index b2cc5b3da..7717f8049 100644 --- a/tests/projects/c++/modules/submodules2/test.lua +++ b/tests/projects/c++/modules/submodules2/test.lua @@ -1,22 +1 @@ -import("lib.detect.find_tool") -import("core.base.semver") - -function main(t) - local test = false - if is_subhost("windows") then - test = true - elseif is_host("linux") then - local gcc = find_tool("gcc", {version = true}) - if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then - test = true - end - elseif is_host("macosx") then - local clang = find_tool("clang", {version = true}) - if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then - test = true - end - end - if test then - os.exec("xmake") - end -end +inherit(".test_base") diff --git a/tests/projects/c++/modules/test_base.lua b/tests/projects/c++/modules/test_base.lua new file mode 100644 index 000000000..68efbeaa0 --- /dev/null +++ b/tests/projects/c++/modules/test_base.lua @@ -0,0 +1,21 @@ +import("lib.detect.find_tool") +import("core.base.semver") + +function main(t) + if is_subhost("windows") then + os.exec("xmake f -c") + os.exec("xmake -r") + elseif is_host("linux") then + local gcc = find_tool("gcc", {version = true}) + if gcc and gcc.version and semver.compare(gcc.version, "11.0") >= 0 then + os.exec("xmake f -c") + os.exec("xmake -r") + end + local clang = find_tool("clang", {version = true}) + if clang and clang.version and semver.compare(clang.version, "14.0") >= 0 then + os.exec("xmake clean -a") + os.exec("xmake f --toolchain=clang -c") + os.exec("xmake -r") + end + end +end -- cgit v1.3.1