cmake: allow system zarchive library (#4786)

This commit is contained in:
Alexandre Bouvier
2026-07-31 20:05:45 -07:00
committed by GitHub
parent 717ff76f3a
commit 65c9463c6a
3 changed files with 19 additions and 5 deletions
+1
View File
@@ -256,6 +256,7 @@ if (ENABLE_SYSTEM_LIBRARIES)
find_package(VulkanMemoryAllocator 3.1.0 CONFIG) find_package(VulkanMemoryAllocator 3.1.0 CONFIG)
find_package(xbyak 7.07 CONFIG) find_package(xbyak 7.07 CONFIG)
find_package(xxHash 0.8.2 MODULE) find_package(xxHash 0.8.2 MODULE)
find_package(ZArchive 0.1.2 MODULE)
find_package(ZLIB 1.3 MODULE) find_package(ZLIB 1.3 MODULE)
find_package(Zydis 5.0.0 MODULE) find_package(Zydis 5.0.0 MODULE)
find_package(pugixml 1.14 CONFIG) find_package(pugixml 1.14 CONFIG)
+15
View File
@@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: Copyright 2026 shadPS4 Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
find_package(PkgConfig QUIET)
pkg_search_module(ZARCHIVE QUIET IMPORTED_TARGET zarchive)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ZArchive
REQUIRED_VARS ZARCHIVE_LINK_LIBRARIES
VERSION_VAR ZARCHIVE_VERSION
)
if (ZArchive_FOUND AND NOT TARGET ZArchive::zarchive)
add_library(ZArchive::zarchive ALIAS PkgConfig::ZARCHIVE)
endif()
+3 -5
View File
@@ -395,8 +395,9 @@ set(protobuf_MSVC_STATIC_RUNTIME OFF CACHE BOOL "" FORCE)
endif() endif()
add_subdirectory(protobuf EXCLUDE_FROM_ALL) add_subdirectory(protobuf EXCLUDE_FROM_ALL)
# zstd (dependency of ZArchive) # ZArchive (.zar archive support)
if (NOT TARGET libzstd_static) if (NOT TARGET ZArchive::zarchive)
# zstd (dependency of ZArchive)
set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE) set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE) set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
set(ZSTD_BUILD_STATIC ON CACHE BOOL "" FORCE) set(ZSTD_BUILD_STATIC ON CACHE BOOL "" FORCE)
@@ -404,10 +405,7 @@ if (NOT TARGET libzstd_static)
set(ZSTD_LEGACY_SUPPORT OFF CACHE BOOL "" FORCE) set(ZSTD_LEGACY_SUPPORT OFF CACHE BOOL "" FORCE)
set(ZSTD_MULTITHREAD_SUPPORT OFF CACHE BOOL "" FORCE) set(ZSTD_MULTITHREAD_SUPPORT OFF CACHE BOOL "" FORCE)
add_subdirectory(zstd/build/cmake) add_subdirectory(zstd/build/cmake)
endif()
# ZArchive (.zar archive support)
if (NOT TARGET zarchive)
add_library(zarchive STATIC add_library(zarchive STATIC
zarchive/src/zarchivereader.cpp zarchive/src/zarchivereader.cpp
zarchive/src/zarchivewriter.cpp zarchive/src/zarchivewriter.cpp