diff --git a/CMakeLists.txt b/CMakeLists.txt index 3eb4cb9f9..1f0e96c08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,11 @@ set(CMAKE_C_STANDARD_REQUIRED ON) option(XENIA_BUILD_TESTS "Build test suites" OFF) option(XENIA_BUILD_MISC "Build misc subprojects (trace viewers, shader compiler, vfs-dump, demos)" OFF) +if(XENIA_BUILD_TESTS) + enable_testing() + include(${PROJECT_SOURCE_DIR}/third_party/catch/contrib/Catch.cmake) +endif() + # Multi-config generators (VS, Ninja Multi-Config) get_property(_is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(_is_multi_config) diff --git a/cmake/XeniaHelpers.cmake b/cmake/XeniaHelpers.cmake index ec16de618..9530da125 100644 --- a/cmake/XeniaHelpers.cmake +++ b/cmake/XeniaHelpers.cmake @@ -247,4 +247,6 @@ function(xe_test_suite name base_path) # Disable Edit and Continue - breaks Catch2 __LINE__ usage target_compile_options(${name} PRIVATE /Zi) endif() + + catch_discover_tests(${name}) endfunction() diff --git a/src/xenia/cpu/ppc/testing/CMakeLists.txt b/src/xenia/cpu/ppc/testing/CMakeLists.txt index 97a726f0f..0630acca8 100644 --- a/src/xenia/cpu/ppc/testing/CMakeLists.txt +++ b/src/xenia/cpu/ppc/testing/CMakeLists.txt @@ -35,3 +35,4 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") endif() xe_target_defaults(xenia-cpu-ppc-tests) +add_test(NAME xenia-cpu-ppc-tests COMMAND xenia-cpu-ppc-tests) diff --git a/src/xenia/cpu/testing/CMakeLists.txt b/src/xenia/cpu/testing/CMakeLists.txt index d6ebd280e..82ee15bab 100644 --- a/src/xenia/cpu/testing/CMakeLists.txt +++ b/src/xenia/cpu/testing/CMakeLists.txt @@ -3,5 +3,5 @@ xe_test_suite(xenia-cpu-tests ${CMAKE_CURRENT_SOURCE_DIR} capstone fmt imgui xenia-base xenia-core xenia-cpu xenia-gpu xenia-hid-skylander xenia-kernel xenia-ui xenia-patcher - $<$:xenia-cpu-backend-x64> + $<$,$>:xenia-cpu-backend-x64> ) diff --git a/xenia-build.py b/xenia-build.py index 1f69444c9..5afb0c1bc 100755 --- a/xenia-build.py +++ b/xenia-build.py @@ -1805,6 +1805,7 @@ class DevenvCommand(Command): "-B", vs_build_dir, "-G", "Visual Studio 17 2022", "-A", "x64", + "-DXENIA_BUILD_TESTS=ON", ]) sln_path = os.path.join(vs_build_dir, "xenia.sln") print(f"Opening {sln_path} in Visual Studio...")