diff options
| author | Leitwolf | 2026-10-25 10:31:36 +0300 |
|---|---|---|
| committer | GitHub | 2026-10-25 10:31:36 +0300 |
| commit | d2e3e074bb2e1b8ffd9fc990d0b87667ea602f58 (patch) | |
| tree | 0bce4462b2e190c39b3e1c5f697e3e4abd1a5e2a /xmake.lua | |
| parent | 13f81a480a93807c14dddb5abdb97355ced4d4c5 (diff) | |
| parent | 126dc333564cb72b5115d9a9242d66694694b6d0 (diff) | |
| download | catch3-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.lua | 53 |
1 files changed, 22 insertions, 31 deletions
@@ -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") |