aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules/Findzstd.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeModules/Findzstd.cmake')
-rw-r--r--CMakeModules/Findzstd.cmake32
1 files changed, 22 insertions, 10 deletions
diff --git a/CMakeModules/Findzstd.cmake b/CMakeModules/Findzstd.cmake
index abcdbc2a3e..2afdb56a8c 100644
--- a/CMakeModules/Findzstd.cmake
+++ b/CMakeModules/Findzstd.cmake
@@ -6,22 +6,34 @@
include(FindPackageHandleStandardArgs)
-find_package(PkgConfig QUIET)
-pkg_search_module(ZSTD QUIET IMPORTED_TARGET libzstd)
-find_package_handle_standard_args(zstd
- REQUIRED_VARS ZSTD_LINK_LIBRARIES
- VERSION_VAR ZSTD_VERSION
-)
+find_package(zstd QUIET CONFIG)
+if (zstd_CONSIDERED_CONFIGS)
+ find_package_handle_standard_args(zstd CONFIG_MODE)
+else()
+ find_package(PkgConfig QUIET)
+ pkg_search_module(ZSTD QUIET IMPORTED_TARGET libzstd)
+ find_package_handle_standard_args(zstd
+ REQUIRED_VARS ZSTD_LINK_LIBRARIES
+ VERSION_VAR ZSTD_VERSION
+ )
+endif()
if (zstd_FOUND AND NOT TARGET zstd::zstd)
- if (TARGET zstd::libzstd_shared)
+ if (TARGET zstd::libzstd_shared AND NOT YUZU_STATIC_BUILD)
add_library(zstd::zstd ALIAS zstd::libzstd_shared)
- add_library(zstd::libzstd ALIAS zstd::libzstd_shared)
elseif (TARGET zstd::libzstd_static)
add_library(zstd::zstd ALIAS zstd::libzstd_static)
- add_library(zstd::libzstd ALIAS zstd::libzstd_static)
else()
add_library(zstd::zstd ALIAS PkgConfig::ZSTD)
- add_library(zstd::libzstd ALIAS PkgConfig::ZSTD)
+ endif()
+endif()
+
+get_target_property(ZSTD_TARGET zstd::zstd ALIASED_TARGET)
+
+if (NOT TARGET zstd::libzstd)
+ if (ZSTD_TARGET)
+ add_library(zstd::libzstd ALIAS ${ZSTD_TARGET})
+ else()
+ add_library(zstd::libzstd ALIAS zstd::zstd)
endif()
endif()