aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelio Castro <helio@kde.org>2009-04-14 22:07:49 +0000
committerHelio Castro <helio@kde.org>2009-04-14 22:07:49 +0000
commit98ff7741015d6e0db548caf5a671dc8a70c17b11 (patch)
tree1c5262090bb3af1435034bf46eb1f9ed1020bedf
parent0573909d5ab4123c4cb85ea019464de98aa33ca4 (diff)
downloadextra-cmake-modules-98ff7741015d6e0db548caf5a671dc8a70c17b11.tar.gz
extra-cmake-modules-98ff7741015d6e0db548caf5a671dc8a70c17b11.tar.bz2
Add lzma/xz compression algorithm handling.
Original code by Per Øyvind Karlsen, <peroyvind@mandriva.org> Minor modifications bu Helio Castro <helio@kde.org> Reviewed by David Faure svn path=/trunk/KDE/kdelibs/; revision=954017
-rw-r--r--modules/FindLibLZMA.cmake39
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/FindLibLZMA.cmake b/modules/FindLibLZMA.cmake
new file mode 100644
index 00000000..f0797e34
--- /dev/null
+++ b/modules/FindLibLZMA.cmake
@@ -0,0 +1,39 @@
+# - Find LibLZMA
+# Find LibLZMA headers and library
+#
+# LIBLZMA_FOUND - True if liblzma is found.
+# LIBLZMA_INCLUDE_DIR - Directory where liblzma headers are located.
+# LIBLZMA_LIBRARIES - Lzma libraries to link against.
+# LIBLZMA_HAS_AUTO_DECODER - True if lzma_auto_decoder() is found (required).
+# LIBLZMA_HAS_EASY_ENCODER - True if lzma_easy_encoder() is found (required).
+# LIBLZMA_HAS_LZMA_PRESET - True if lzma_lzma_preset() is found (required).
+
+
+# Copyright (c) 2008, Per Øyvind Karlsen, <peroyvind@mandriva.org>
+
+
+IF (LIBLZMA_INCLUDE_DIRS AND LIBLZMA_LIBRARIES)
+ SET(LIBLZMA_FIND_QUIETLY TRUE)
+ENDIF (LIBLZMA_INCLUDE_DIRS AND LIBLZMA_LIBRARIES)
+
+IF (NOT WIN32)
+ INCLUDE(FindPkgConfig)
+ PKG_SEARCH_MODULE(LIBLZMA liblzma)
+ ELSE (NOT WIN32)
+ FIND_PATH(LIBLZMA_INCLUDE_DIRS lzma.h )
+ FIND_LIBRARY(LIBLZMA_LIBRARIES NAMES lzma )
+ INCLUDE(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBLZMA DEFAULT_MSG LIBLZMA_INCLUDE_DIRS LIBLZMA_LIBRARIES)
+ENDIF (NOT WIN32)
+
+IF (LIBLZMA_FOUND)
+ INCLUDE(CheckLibraryExists)
+ CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARIES} lzma_auto_decoder "" LIBLZMA_HAS_AUTO_DECODER)
+ CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARIES} lzma_easy_encoder "" LIBLZMA_HAS_EASY_ENCODER)
+ CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARIES} lzma_lzma_preset "" LIBLZMA_HAS_LZMA_PRESET)
+ IF (NOT LIBLZMA_HAS_AUTO_DECODER AND LIBLZMA_HAS_EASY_ENCODER AND LIBLZMA_HAS_LZMA_PRESET)
+ SET(LIBLZMA_FOUND FALSE)
+ ENDIF(NOT LIBLZMA_HAS_AUTO_DECODER AND LIBLZMA_HAS_EASY_ENCODER AND LIBLZMA_HAS_LZMA_PRESET)
+ENDIF (LIBLZMA_FOUND)
+
+MARK_AS_ADVANCED( LIBLZMA_INCLUDE_DIRS LIBLZMA_LIBRARIES )