From c8b358dba254ea0478d1c1aa697a1276a6451347 Mon Sep 17 00:00:00 2001 From: Alexandre Bouvier Date: Wed, 12 Jan 2022 00:36:20 +0100 Subject: [PATCH] cmake: make tests optional --- CMakeLists.txt | 8 +++++++- externals/CMakeLists.txt | 4 ---- src/CMakeLists.txt | 5 ++++- src/tests/CMakeLists.txt | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 47bd282fb6..4bf55d6646 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,8 @@ option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence" OFF) option(YUZU_USE_BUNDLED_OPUS "Compile bundled opus" ON) +option(YUZU_TESTS "Compile tests" ON) + # Default to a Release build get_property(IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if (NOT IS_MULTI_CONFIG AND NOT CMAKE_BUILD_TYPE) @@ -168,7 +170,6 @@ macro(yuzu_find_packages) # Capitalization matters here. We need the naming to match the generated paths from Conan set(REQUIRED_LIBS # Cmake Pkg Prefix Version Conan Pkg - "Catch2 2.13.7 catch2/2.13.7" "fmt 8.0.1 fmt/8.1.1" "lz4 1.8 lz4/1.9.2" "nlohmann_json 3.8 nlohmann_json/3.8.0" @@ -177,6 +178,11 @@ macro(yuzu_find_packages) # can't use opus until AVX check is fixed: https://github.com/yuzu-emu/yuzu/pull/4068 #"opus 1.3 opus/1.3.1" ) + if (YUZU_TESTS) + list(APPEND REQUIRED_LIBS + "Catch2 2.13.7 catch2/2.13.7" + ) + endif() foreach(PACKAGE ${REQUIRED_LIBS}) string(REGEX REPLACE "[ \t\r\n]+" ";" PACKAGE_SPLIT ${PACKAGE}) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 1581135162..82e8ef18cf 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -13,10 +13,6 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64) target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES) endif() -# Catch -add_library(catch-single-include INTERFACE) -target_include_directories(catch-single-include INTERFACE catch/single_include) - # Dynarmic if (ARCHITECTURE_x86_64) set(DYNARMIC_TESTS OFF) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 19d16147d0..1bdf70b76e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -151,7 +151,10 @@ add_subdirectory(audio_core) add_subdirectory(video_core) add_subdirectory(input_common) add_subdirectory(shader_recompiler) -add_subdirectory(tests) + +if (YUZU_TESTS) + add_subdirectory(tests) +endif() if (ENABLE_SDL2) add_subdirectory(yuzu_cmd) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index 4a20c0768e..a69ccb2644 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -16,6 +16,6 @@ add_executable(tests create_target_directory_groups(tests) target_link_libraries(tests PRIVATE common core input_common) -target_link_libraries(tests PRIVATE ${PLATFORM_LIBRARIES} catch-single-include Threads::Threads) +target_link_libraries(tests PRIVATE ${PLATFORM_LIBRARIES} Catch2::Catch2 Threads::Threads) add_test(NAME tests COMMAND tests)