1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
# Copyright (C) 2011-2013 Daniel Scharrer
#
# This software is provided 'as-is', without any express or implied
# warranty. In no event will the author(s) be held liable for any damages
# arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not
# claim that you wrote the original software. If you use this software
# in a product, an acknowledgment in the product documentation would be
# appreciated but is not required.
# 2. Altered source versions must be plainly marked as such, and must not be
# misrepresented as being the original software.
# 3. This notice may not be removed or altered from any source distribution.
# Try to find the LZMA library and include path for lzma.h from xz-utils.
# Once done this will define
#
# LZMA_FOUND
# LZMA_INCLUDE_DIR Where to find lzma.h
# LZMA_LIBRARIES The liblzma library
# LZMA_DEFINITIONS Definitions to use when compiling code that uses liblzma
#
# Typical usage could be something like:
# find_package(LZMA REQUIRED)
# include_directories(SYSTEM ${LZMA_INCLUDE_DIR})
# add_definitions(${LZMA_DEFINITIONS})
# ...
# target_link_libraries(myexe ${LZMA_LIBRARIES})
#
# The following additional options can be defined before the find_package() call:
# LZMA_USE_STATIC_LIBS Statically link against liblzma (default: OFF)
if(UNIX)
find_package(PkgConfig QUIET)
pkg_check_modules(_PC_LZMA liblzma)
endif()
include(UseStaticLibs)
use_static_libs(LZMA)
find_path(LZMA_INCLUDE_DIR lzma.h
HINTS
${_PC_LZMA_INCLUDE_DIRS}
DOC "The directory where lzma.h resides"
)
mark_as_advanced(LZMA_INCLUDE_DIR)
# Prefer libraries in the same prefix as the include files
string(REGEX REPLACE "(.*)/include/?" "\\1" LZMA_BASE_DIR ${LZMA_INCLUDE_DIR})
find_library(LZMA_LIBRARY lzma liblzma
HINTS
"${LZMA_BASE_DIR}/lib"
${_PC_LZMA_LIBRARY_DIRS}
DOC "The LZMA library"
)
mark_as_advanced(LZMA_LIBRARY)
use_static_libs_restore()
set(LZMA_DEFINITIONS)
if(WIN32 AND LZMA_USE_STATIC_LIBS)
set(LZMA_DEFINITIONS -DLZMA_API_STATIC)
endif()
# handle the QUIETLY and REQUIRED arguments and set LZMA_FOUND to TRUE if
# all listed variables are TRUE
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LZMA DEFAULT_MSG LZMA_LIBRARY LZMA_INCLUDE_DIR)
if(LZMA_FOUND)
set(LZMA_LIBRARIES ${LZMA_LIBRARY})
endif(LZMA_FOUND)
|