From 2fa6de39bcd1dc7b72e8438a2bde8cd45542baf1 Mon Sep 17 00:00:00 2001 From: pineappleEA Date: Fri, 2 Apr 2021 09:01:24 +0200 Subject: [PATCH] early-access version 1548 --- README.md | 2 +- externals/CMakeLists.txt | 4 +- externals/find-modules/Findlibzip.cmake | 72 +++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 3 deletions(-) create mode 100755 externals/find-modules/Findlibzip.cmake diff --git a/README.md b/README.md index 31e05662a..fcaf883f3 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 1547. +This is the source code for early-access 1548. ## Legal Notice diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index c629bbc5c..851c282b4 100755 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -64,8 +64,8 @@ endif() add_subdirectory(sirit) # libzip -find_package(Libzip 1.5) -if (NOT LIBZIP_FOUND) +find_package(libzip 1.5) +if (NOT libzip_FOUND) message(STATUS "libzip 1.5 or newer not found, falling back to externals") add_subdirectory(libzip EXCLUDE_FROM_ALL) endif() diff --git a/externals/find-modules/Findlibzip.cmake b/externals/find-modules/Findlibzip.cmake new file mode 100755 index 000000000..8934de3b8 --- /dev/null +++ b/externals/find-modules/Findlibzip.cmake @@ -0,0 +1,72 @@ + +find_package(PkgConfig QUIET) +pkg_check_modules(PC_libzip QUIET libzip) + +find_path(libzip_INCLUDE_DIR + NAMES zip.h + PATHS ${PC_libzip_INCLUDE_DIRS} + "$ENV{LIB_DIR}/include" + "$ENV{INCLUDE}" + /usr/local/include + /usr/include +) +find_path(libzip_INCLUDE_DIR_ZIPCONF + NAMES zipconf.h + HINTS ${PC_libzip_INCLUDE_DIRS} + "$ENV{LIB_DIR}/include" + "$ENV{LIB_DIR}/lib/libzip/include" + "$ENV{LIB}/lib/libzip/include" + /usr/local/lib/libzip/include + /usr/lib/libzip/include + /usr/local/include + /usr/include + "$ENV{INCLUDE}" +) +find_library(libzip_LIBRARY + NAMES zip + PATHS ${PC_libzip_LIBRARY_DIRS} + "$ENV{LIB_DIR}/lib" "$ENV{LIB}" /usr/local/lib /usr/lib +) + +if (libzip_INCLUDE_DIR_ZIPCONF) + FILE(READ "${libzip_INCLUDE_DIR_ZIPCONF}/zipconf.h" _libzip_VERSION_CONTENTS) + if (_libzip_VERSION_CONTENTS) + STRING(REGEX REPLACE ".*#define LIBZIP_VERSION \"([0-9.]+)\".*" "\\1" libzip_VERSION "${_libzip_VERSION_CONTENTS}") + endif() + unset(_libzip_VERSION_CONTENTS) +endif() + +set(libzip_VERSION ${libzip_VERSION} CACHE STRING "Version number of libzip") + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(libzip + FOUND_VAR libzip_FOUND + REQUIRED_VARS + libzip_LIBRARY + libzip_INCLUDE_DIR + libzip_INCLUDE_DIR_ZIPCONF + libzip_VERSION + VERSION_VAR libzip_VERSION +) + +if(libzip_FOUND) + set(libzip_LIBRARIES ${libzip_LIBRARY}) + set(libzip_INCLUDE_DIRS ${libzip_INCLUDE_DIR}) + set(libzip_DEFINITIONS ${PC_libzip_CFLAGS_OTHER}) +endif() + +if(libzip_FOUND AND NOT TARGET libzip::libzip) + add_library(libzip::libzip UNKNOWN IMPORTED) + set_target_properties(libzip::libzip PROPERTIES + IMPORTED_LOCATION "${libzip_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${PC_libzip_CFLAGS_OTHER}" + INTERFACE_INCLUDE_DIRECTORIES "${libzip_INCLUDE_DIR}" + ) +endif() + +mark_as_advanced( + libzip_INCLUDE_DIR + libzip_INCLUDE_DIR_ZIPCONF + libzip_LIBRARY + libzip_VERSION +)