Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/xmake.lua
diff options
context:
space:
mode:
authorLeitwolf2026-10-25 10:31:36 +0300
committerGitHub2026-10-25 10:31:36 +0300
commitd2e3e074bb2e1b8ffd9fc990d0b87667ea602f58 (patch)
tree0bce4462b2e190c39b3e1c5f697e3e4abd1a5e2a /xmake.lua
parent13f81a480a93807c14dddb5abdb97355ced4d4c5 (diff)
parent126dc333564cb72b5115d9a9242d66694694b6d0 (diff)
downloadcatch3-d2e3e074bb2e1b8ffd9fc990d0b87667ea602f58.tar.gz
Merge pull request #18 from Progmasoft/build/catch3-identity
Give Catch3 its own build names and headers
Diffstat (limited to 'xmake.lua')
-rw-r--r--xmake.lua53
1 files changed, 22 insertions, 31 deletions
diff --git a/xmake.lua b/xmake.lua
index aec3b1d4..34f57342 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -2,7 +2,7 @@
-- SPDX-License-Identifier: MPL-2.0 WITH AdditionRef-Progmasoft-Exception-1.1
set_project("Catch3")
-set_version("3.16.1")
+set_version("0.3.0")
set_languages("cxx14")
set_warnings("all")
@@ -10,50 +10,41 @@ local repository_root = os.projectdir()
local generated_include = path.join(repository_root, ".xmake", "generated")
add_moduledirs(path.join(repository_root, "buildsupport"))
--- Catch2's engine with the Catch3 runner, which replaced Catch2's session,
--- command line and reporters. The library is C++20; Catch2's headers still
--- need only C++14 in the code that includes them.
-target("catch2")
+-- The Catch2-compatible engine, the Catch3 runner, which replaced Catch2's
+-- session, command line and reporters, property testing and snapshots. The
+-- library is C++20; the engine's headers still need only C++14 in the code
+-- that includes them.
+target("catch3")
set_kind("static")
set_languages("cxx20")
on_load(function(target)
-- File I/O is restricted to Xmake's script domain, so generate here
-- rather than while the declarative project file is being evaluated.
- local configure_catch2 = import("catch2_config")
- configure_catch2.main(generated_include, repository_root)
+ local configure_catch3 = import("catch3_config")
+ configure_catch3.main(generated_include, repository_root)
target:add("includedirs", generated_include, {public = true})
end)
- add_files("src/catch2/**.cpp")
- remove_files("src/catch2/internal/catch_main.cpp")
+ add_files("src/Progmasoft/Catch3/**.cpp")
+ remove_files("src/Progmasoft/Catch3/Internal/Main.cpp")
add_files(
"src/Progmasoft/Runner/*.cpp",
"src/Progmasoft/Results.cpp",
- "src/Progmasoft/XmlWriter.cpp"
+ "src/Progmasoft/XmlWriter.cpp",
+ "src/Progmasoft/ChoiceShrinker.cpp",
+ "src/Progmasoft/StrategyContext.cpp",
+ "src/Progmasoft/PropertyEngine.cpp",
+ "src/Progmasoft/Snapshot.cpp"
)
add_includedirs("src", {public = true})
- add_headerfiles("src/catch2/**.hpp", {prefixdir = ""})
+ add_headerfiles("src/(Progmasoft/**.hpp)")
-target("catch2_main")
+target("catch3_main")
set_kind("static")
set_languages("cxx14")
- add_files("src/catch2/internal/catch_main.cpp")
- add_deps("catch2")
+ add_files("src/Progmasoft/Catch3/Internal/Main.cpp")
+ add_deps("catch3")
add_includedirs("src", generated_include, {public = true})
--- Compile Progmasoft's implementation separately from the compatibility engine.
-target("ProgmasoftCatch3")
- set_kind("static")
- set_languages("cxx20")
- add_headerfiles("src/Progmasoft/**.hpp", {prefixdir = ""})
- add_files(
- "src/Progmasoft/ChoiceShrinker.cpp",
- "src/Progmasoft/Context.cpp",
- "src/Progmasoft/PropertyEngine.cpp",
- "src/Progmasoft/Snapshot.cpp"
- )
- add_includedirs("src", {public = true})
- add_deps("catch2", {public = true})
-
target("ProgmasoftPropertyTests")
set_kind("binary")
set_languages("cxx20")
@@ -71,10 +62,10 @@ target("ProgmasoftPropertyTests")
"tests/Progmasoft/Snapshot.tests.cpp",
"tests/Progmasoft/Stateful.tests.cpp",
"tests/Progmasoft/Strategy.tests.cpp",
- "src/catch2/internal/catch_main.cpp"
+ "src/Progmasoft/Catch3/Internal/Main.cpp"
)
add_includedirs("src", generated_include)
-- MSVC's linker does not discover an otherwise unreferenced main() in a
-- static archive. Compile the compatibility entry point into this test
- -- executable while retaining catch2_main for downstream consumers.
- add_deps("ProgmasoftCatch3")
+ -- executable while retaining catch3_main for downstream consumers.
+ add_deps("catch3")