Przeglądaj źródła

cmake: make tests optional

Alexandre Bouvier 4 lat temu
rodzic
commit
c8b358dba2
4 zmienionych plików z 12 dodań i 7 usunięć
  1. 7 1
      CMakeLists.txt
  2. 0 4
      externals/CMakeLists.txt
  3. 4 1
      src/CMakeLists.txt
  4. 1 1
      src/tests/CMakeLists.txt

+ 7 - 1
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})

+ 0 - 4
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)

+ 4 - 1
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)

+ 1 - 1
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)