externals: allow user to use system dynarmic (#7044)

This commit is contained in:
Castor215 2023-10-07 05:49:56 +01:00 committed by GitHub
parent 7931aac3b7
commit 492aa3cb10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View file

@ -97,6 +97,7 @@ option(USE_SYSTEM_CPP_JWT "Use the system cpp-jwt (instead of the bundled one)"
option(USE_SYSTEM_SOUNDTOUCH "Use the system SoundTouch (instead of the bundled one)" OFF) option(USE_SYSTEM_SOUNDTOUCH "Use the system SoundTouch (instead of the bundled one)" OFF)
option(USE_SYSTEM_CPP_HTTPLIB "Use the system cpp-httplib (instead of the bundled one)" OFF) option(USE_SYSTEM_CPP_HTTPLIB "Use the system cpp-httplib (instead of the bundled one)" OFF)
option(USE_SYSTEM_JSON "Use the system JSON (nlohmann-json3) package (instead of the bundled one)" OFF) option(USE_SYSTEM_JSON "Use the system JSON (nlohmann-json3) package (instead of the bundled one)" OFF)
option(USE_SYSTEM_DYNARMIC "Use the system dynarmic (instead of the bundled one)" OFF)
if (CITRA_USE_PRECOMPILED_HEADERS) if (CITRA_USE_PRECOMPILED_HEADERS)
message(STATUS "Using Precompiled Headers.") message(STATUS "Using Precompiled Headers.")

View file

@ -78,10 +78,21 @@ endif()
# Dynarmic # Dynarmic
if ("x86_64" IN_LIST ARCHITECTURE OR "arm64" IN_LIST ARCHITECTURE) if ("x86_64" IN_LIST ARCHITECTURE OR "arm64" IN_LIST ARCHITECTURE)
if(USE_SYSTEM_DYNARMIC)
find_package(dynarmic REQUIRED)
add_library(dynarmic INTERFACE)
target_link_libraries(dynarmic INTERFACE dynarmic::dynarmic)
# The dynarmic package's cmake files are helpfully completely silent
# so we have to inform the user of its status ourselves
if(TARGET dynarmic::dynarmic)
message(STATUS "Found dynarmic")
endif()
else()
set(DYNARMIC_TESTS OFF CACHE BOOL "") set(DYNARMIC_TESTS OFF CACHE BOOL "")
set(DYNARMIC_FRONTENDS "A32" CACHE STRING "") set(DYNARMIC_FRONTENDS "A32" CACHE STRING "")
add_subdirectory(dynarmic EXCLUDE_FROM_ALL) add_subdirectory(dynarmic EXCLUDE_FROM_ALL)
endif() endif()
endif()
# getopt # getopt
if (MSVC) if (MSVC)