diff options
author | Markus Wick <markus@selfnet.de> | 2021-04-01 17:23:46 +0200 |
---|---|---|
committer | Markus Wick <markus@selfnet.de> | 2021-04-02 00:30:13 +0200 |
commit | d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d (patch) | |
tree | eee0bd12dea7ca173df48ee23461d940a54db5fe /externals/find-modules/Findlibzip.cmake | |
parent | Merge pull request #6106 from MerryMage/nullptr-jit (diff) | |
download | yuzu-d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d.tar yuzu-d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d.tar.gz yuzu-d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d.tar.bz2 yuzu-d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d.tar.lz yuzu-d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d.tar.xz yuzu-d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d.tar.zst yuzu-d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d.zip |
Diffstat (limited to 'externals/find-modules/Findlibzip.cmake')
-rw-r--r-- | externals/find-modules/Findlibzip.cmake | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/externals/find-modules/Findlibzip.cmake b/externals/find-modules/Findlibzip.cmake new file mode 100644 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 +) |