summaryrefslogtreecommitdiff
path: root/tests/projects/c++/modules/test_base.lua
blob: 68efbeaa0d802c50885b669ee84e57cc40053e5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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