summaryrefslogtreecommitdiff
path: root/CMake/FindLibzip.cmake
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2020-08-22 14:05:41 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2020-08-22 14:05:41 +0200
commitb55285a77da0e0b829e4ce8d7e09debaabc68e15 (patch)
treef622559ef65bbdd3e1c5bdb06098a8f89eec0563 /CMake/FindLibzip.cmake
parentd3897ce090dbeb220ed2c782f095597e417cf3cc (diff)
parentd1ae75703e1ed81d65ea16946dcdb77e7a13adc9 (diff)
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'CMake/FindLibzip.cmake')
-rw-r--r--CMake/FindLibzip.cmake61
1 files changed, 61 insertions, 0 deletions
diff --git a/CMake/FindLibzip.cmake b/CMake/FindLibzip.cmake
new file mode 100644
index 0000000..b6f1a9e
--- /dev/null
+++ b/CMake/FindLibzip.cmake
@@ -0,0 +1,61 @@
+# Finds libzip.
+#
+# This module defines:
+# LIBZIP_INCLUDE_DIR_ZIP
+# LIBZIP_INCLUDE_DIR_ZIPCONF
+# LIBZIP_LIBRARY
+#
+# There is no default installation for libzip on Windows so a
+# XTrackCAD specific directory tree is assumed
+#
+
+if(WIN32)
+ find_path( LIBZIP_INCLUDE_DIR_ZIP zip.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip
+ DOC "The directory where zip.h resides")
+ find_path( LIBZIP_INCLUDE_DIR_ZIPCONF zipconf.h
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip
+ DOC "The directory where zip.h resides")
+ find_library( LIBZIP_LIBRARY
+ NAMES zip Zip
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip
+ DOC "The libzip library")
+ find_file( LIBZIP_SHAREDLIB
+ NAMES zip.dll Zip.dll
+ PATHS
+ $ENV{XTCEXTERNALROOT}/x86/libzip)
+else(WIN32)
+ find_package(PkgConfig)
+ pkg_check_modules(PC_LIBZIP QUIET libzip)
+
+ find_path(LIBZIP_INCLUDE_DIR_ZIP
+ NAMES zip.h
+ HINTS ${PC_LIBZIP_INCLUDE_DIRS})
+
+ find_path(LIBZIP_INCLUDE_DIR_ZIPCONF
+ NAMES zipconf.h
+ HINTS ${PC_LIBZIP_INCLUDE_DIRS})
+
+ find_library(LIBZIP_LIBRARY
+ NAMES zip)
+endif(WIN32)
+
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ LIBZIP DEFAULT_MSG
+ LIBZIP_LIBRARY LIBZIP_INCLUDE_DIR_ZIP LIBZIP_INCLUDE_DIR_ZIPCONF)
+
+set(LIBZIP_VERSION 0)
+
+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-9a-z.]+)\".*" "\\1" LIBZIP_VERSION "${_LIBZIP_VERSION_CONTENTS}")
+ endif ()
+endif ()
+
+set(LIBZIP_VERSION ${LIBZIP_VERSION} CACHE STRING "Version number of libzip")
+mark_as_advanced(LIBZIP_LIBRARY LIBZIP_INCLUDE_DIR_ZIP LIBZIP_INCLUDE_DIR_ZIPCONF LIBZIP_SHAREDLIB)