aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/FindLibLZMA.cmake45
1 files changed, 26 insertions, 19 deletions
diff --git a/modules/FindLibLZMA.cmake b/modules/FindLibLZMA.cmake
index f0797e34..f63de69c 100644
--- a/modules/FindLibLZMA.cmake
+++ b/modules/FindLibLZMA.cmake
@@ -2,7 +2,7 @@
# Find LibLZMA headers and library
#
# LIBLZMA_FOUND - True if liblzma is found.
-# LIBLZMA_INCLUDE_DIR - Directory where liblzma headers are located.
+# LIBLZMA_INCLUDE_DIRS - 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).
@@ -10,30 +10,37 @@
# Copyright (c) 2008, Per Øyvind Karlsen, <peroyvind@mandriva.org>
+# Copyright (c) 2009, Alexander Neundorf, <neundorf@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+FIND_PATH(LIBLZMA_INCLUDE_DIR lzmadec.h )
+FIND_LIBRARY(LIBLZMA_LIBRARY lzmadec)
-IF (LIBLZMA_INCLUDE_DIRS AND LIBLZMA_LIBRARIES)
- SET(LIBLZMA_FIND_QUIETLY TRUE)
-ENDIF (LIBLZMA_INCLUDE_DIRS AND LIBLZMA_LIBRARIES)
+SET(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARY})
+SET(LIBLZMA_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIR})
-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)
+# what's up with the following tests ?
+# I downloaded, built and installed the lzma-4.32.7 source package directly
+# from http://tukaani.org/lzma/download and they resulting library doesn't have
+# these symbols. Also "grep -R auto_decoder *" gives no results.
+# Where should they come frome ? Alex
+IF (LIBLZMA_LIBRARIES)
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)
+ENDIF (LIBLZMA_LIBRARIES)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBLZMA DEFAULT_MSG LIBLZMA_INCLUDE_DIR
+ LIBLZMA_LIBRARY
+ LIBLZMA_HAS_AUTO_DECODER
+ LIBLZMA_HAS_EASY_ENCODER
+ LIBLZMA_HAS_LZMA_PRESET
+ )
-MARK_AS_ADVANCED( LIBLZMA_INCLUDE_DIRS LIBLZMA_LIBRARIES )
+MARK_AS_ADVANCED( LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY )