Skip to content

Commit 31a943b

Browse files
authored
Merge pull request #8 from star-hengxing/main
Add gtest support for xmake
2 parents 8cada17 + f9507a7 commit 31a943b

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,7 @@
3030
*.exe
3131
*.out
3232
*.app
33+
34+
.vscode/
35+
.xmake/
36+
build/

xmake.lua

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ set_project("magic")
22

33
set_version("0.0.1")
44

5-
set_xmakever("2.8.5")
5+
set_xmakever("2.8.6")
66

77
set_allowedplats("windows")
88
set_allowedmodes("debug", "release")
99

10+
option("test", {showmenu = true, default = false})
11+
1012
set_languages("c++20")
1113

1214
set_warnings("all")
@@ -17,18 +19,25 @@ if is_plat("windows") then
1719
add_cxflags("/permissive-", {tools = "cl"})
1820
end
1921

22+
if has_config("test") then
23+
add_requires("gtest", {configs = {main = true, gmock = false}})
24+
end
25+
2026
target("magic")
2127
set_kind("headeronly")
2228
add_includedirs("include", {interface = true})
2329
add_headerfiles("include/(magic/*.h)")
2430

25-
for _, file in ipairs(os.files("test/*.cpp")) do
26-
local name = path.basename(file)
27-
target(name)
28-
set_kind("object")
29-
set_default(false)
30-
add_files(file)
31+
target("test")
32+
set_kind("binary")
33+
set_default(false)
34+
add_files(os.files("test/*.cpp"))
35+
36+
if is_plat("windows") then
37+
add_ldflags("/subsystem:console")
38+
end
39+
40+
add_deps("magic")
41+
add_packages("gtest")
3142

32-
add_deps("magic")
33-
add_tests("default", {build_should_pass = true})
34-
end
43+
add_tests("default")

0 commit comments

Comments
 (0)