From 98ff7741015d6e0db548caf5a671dc8a70c17b11 Mon Sep 17 00:00:00 2001 From: Helio Castro Date: Tue, 14 Apr 2009 22:07:49 +0000 Subject: =?UTF-8?q?Add=20lzma/xz=20compression=20algorithm=20handling.=20O?= =?UTF-8?q?riginal=20code=20by=20Per=20=C3=98yvind=20Karlsen,=20=20Minor=20modifications=20bu=20Helio=20Castro=20?= =?UTF-8?q?=20Reviewed=20by=20David=20Faure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/trunk/KDE/kdelibs/; revision=954017 --- modules/FindLibLZMA.cmake | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 modules/FindLibLZMA.cmake (limited to 'modules/FindLibLZMA.cmake') 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, + + +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 ) -- cgit v1.2.1 From 60fe0691762de905807e704846946f31a56219d2 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 29 Apr 2009 18:06:33 +0000 Subject: -fix FindLibLZMA.cmake, so it sets the variables according to our conventions (http://techbase.kde.org/Policies/CMake_Coding_Style) and works also without pkg-config -fix kdecore/CMakeLists.txt accordingly Alex CCMAIL: kde-buildsystem@kde.org svn path=/trunk/KDE/kdelibs/; revision=961236 --- modules/FindLibLZMA.cmake | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) (limited to 'modules/FindLibLZMA.cmake') 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, +# Copyright (c) 2009, Alexander Neundorf, +# +# 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 ) -- cgit v1.2.1 From dc80a9086df23892adc55af668433d581d72cca2 Mon Sep 17 00:00:00 2001 From: Helio Castro Date: Thu, 30 Apr 2009 20:12:45 +0000 Subject: - We are using the new XZ codebase instead of old codebase. Can be found in http://tukaani.org/xz/ svn path=/trunk/KDE/kdelibs/; revision=961856 --- modules/FindLibLZMA.cmake | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'modules/FindLibLZMA.cmake') diff --git a/modules/FindLibLZMA.cmake b/modules/FindLibLZMA.cmake index f63de69c..1a341b28 100644 --- a/modules/FindLibLZMA.cmake +++ b/modules/FindLibLZMA.cmake @@ -11,23 +11,22 @@ # Copyright (c) 2008, Per Øyvind Karlsen, # Copyright (c) 2009, Alexander Neundorf, +# Copyright (c) 2009, Helio Chissini de Castro, # # 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) +FIND_PATH(LIBLZMA_INCLUDE_DIR lzma.h ) +FIND_LIBRARY(LIBLZMA_LIBRARY lzma) SET(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARY}) SET(LIBLZMA_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIR}) -# 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 +# We're using new code known now as XZ, even library still been called LZMA +# it can be found in http://tukaani.org/xz/ +# Avoid using old codebase IF (LIBLZMA_LIBRARIES) INCLUDE(CheckLibraryExists) CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARIES} lzma_auto_decoder "" LIBLZMA_HAS_AUTO_DECODER) -- cgit v1.2.1