From 064625ef58d4166b4983119f5389118113505a84 Mon Sep 17 00:00:00 2001 From: Andrea Pappacoda Date: Thu, 28 Jul 2022 16:44:52 +0200 Subject: build: simplify find modules With this patch I've deleted a few find modules that are now unused since the vcpkg transition, as the CMake code now forces CONFIG mode for Catch2, fmt and nlohmann_json. I've then simplified the lz4, opus, and zstd modules by exclusively using pkg-config. They were using it already, but were ignoring the result. Also, I believe that manually looking for libraries was required for Conan to work, and it is thus not needed anymore. Lastly, I believe that there is no platform that ships these system libs without pkg-config/pkgconf, so requiring it should be fine. --- externals/find-modules/Findzstd.cmake | 60 +++++++---------------------------- 1 file changed, 11 insertions(+), 49 deletions(-) (limited to 'externals/find-modules/Findzstd.cmake') diff --git a/externals/find-modules/Findzstd.cmake b/externals/find-modules/Findzstd.cmake index f0c56f499..f4031eb70 100644 --- a/externals/find-modules/Findzstd.cmake +++ b/externals/find-modules/Findzstd.cmake @@ -1,57 +1,19 @@ -# SPDX-FileCopyrightText: 2020 yuzu Emulator Project +# SPDX-FileCopyrightText: 2022 yuzu Emulator Project # SPDX-License-Identifier: GPL-2.0-or-later -find_package(PkgConfig QUIET) -pkg_check_modules(PC_zstd QUIET libzstd) +find_package(PkgConfig) -find_path(zstd_INCLUDE_DIR - NAMES zstd.h - PATHS ${PC_zstd_INCLUDE_DIRS} -) -find_library(zstd_LIBRARY - NAMES zstd - PATHS ${PC_zstd_LIBRARY_DIRS} -) - -if(zstd_INCLUDE_DIR) - file(STRINGS "${zstd_INCLUDE_DIR}/zstd.h" _zstd_version_lines - REGEX "#define[ \t]+ZSTD_VERSION_(MAJOR|MINOR|RELEASE)") - string(REGEX REPLACE ".*ZSTD_VERSION_MAJOR *\([0-9]*\).*" "\\1" _zstd_version_major "${_zstd_version_lines}") - string(REGEX REPLACE ".*ZSTD_VERSION_MINOR *\([0-9]*\).*" "\\1" _zstd_version_minor "${_zstd_version_lines}") - string(REGEX REPLACE ".*ZSTD_VERSION_RELEASE *\([0-9]*\).*" "\\1" _zstd_version_release "${_zstd_version_lines}") - set(zstd_VERSION "${_zstd_version_major}.${_zstd_version_minor}.${_zstd_version_release}") - unset(_zstd_version_major) - unset(_zstd_version_minor) - unset(_zstd_version_release) - unset(_zstd_version_lines) +if (PKG_CONFIG_FOUND) + pkg_search_module(libzstd IMPORTED_TARGET GLOBAL libzstd) + if (libzstd_FOUND) + add_library(zstd::zstd ALIAS PkgConfig::libzstd) + endif() endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(zstd - FOUND_VAR zstd_FOUND - REQUIRED_VARS - zstd_LIBRARY - zstd_INCLUDE_DIR - zstd_VERSION - VERSION_VAR zstd_VERSION -) - -if(zstd_FOUND) - set(zstd_LIBRARIES ${zstd_LIBRARY}) - set(zstd_INCLUDE_DIRS ${zstd_INCLUDE_DIR}) - set(zstd_DEFINITIONS ${PC_zstd_CFLAGS_OTHER}) -endif() - -if(zstd_FOUND AND NOT TARGET zstd::zstd) - add_library(zstd::zstd UNKNOWN IMPORTED) - set_target_properties(zstd::zstd PROPERTIES - IMPORTED_LOCATION "${zstd_LIBRARY}" - INTERFACE_COMPILE_OPTIONS "${PC_zstd_CFLAGS_OTHER}" - INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" - ) -endif() - -mark_as_advanced( - zstd_INCLUDE_DIR - zstd_LIBRARY + REQUIRED_VARS + libzstd_LINK_LIBRARIES + libzstd_FOUND + VERSION_VAR libzstd_VERSION ) -- cgit v1.2.3