mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	CMake is case senstive, so Libzip vs LIBZIP was a bug. Upstream calls themself libzip, so let's pick this naming.
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
 | 
						|
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
 | 
						|
)
 |