diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-03-13 14:33:31 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-03-13 14:36:01 +0300 |
commit | bb825d02f8570c408f4266dfa4eff53d2d0bf4f6 (patch) | |
tree | 3c452fcb5497c8c72a1fd8ebf7f109e5a89055a6 /build_files/cmake | |
parent | 61eab743f1377fdfcf44f2e4928290a3fc4ccfea (diff) |
CMake: unbundle LZO library
Patch T41989 by @hasufell
Diffstat (limited to 'build_files/cmake')
-rw-r--r-- | build_files/cmake/Modules/FindLZO.cmake | 68 | ||||
-rw-r--r-- | build_files/cmake/macros.cmake | 8 |
2 files changed, 75 insertions, 1 deletions
diff --git a/build_files/cmake/Modules/FindLZO.cmake b/build_files/cmake/Modules/FindLZO.cmake new file mode 100644 index 00000000000..a21aa0a03bb --- /dev/null +++ b/build_files/cmake/Modules/FindLZO.cmake @@ -0,0 +1,68 @@ +# - Find LZO library +# Find the native LZO includes and library +# This module defines +# LZO_INCLUDE_DIRS, where to find lzo1x.h, Set when +# LZO_INCLUDE_DIR is found. +# LZO_LIBRARIES, libraries to link against to use LZO. +# LZO_ROOT_DIR, The base directory to search for LZO. +# This can also be an environment variable. +# LZO_FOUND, If false, do not try to use LZO. +# +# also defined, but not for general use are +# LZO_LIBRARY, where to find the LZO library. + +#============================================================================= +# Copyright 2015 Blender Foundation. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= + +# If LZO_ROOT_DIR was defined in the environment, use it. +IF(NOT LZO_ROOT_DIR AND NOT $ENV{LZO_ROOT_DIR} STREQUAL "") + SET(LZO_ROOT_DIR $ENV{LZO_ROOT_DIR}) +ENDIF() + +SET(_lzo_SEARCH_DIRS + ${LZO_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +FIND_PATH(LZO_INCLUDE_DIR lzo/lzo1x.h + HINTS + ${_lzo_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(LZO_LIBRARY + NAMES + lzo2 + HINTS + ${_lzo_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set LZO_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LZO DEFAULT_MSG + LZO_LIBRARY LZO_INCLUDE_DIR) + +IF(LZO_FOUND) + SET(LZO_LIBRARIES ${LZO_LIBRARY}) + SET(LZO_INCLUDE_DIRS ${LZO_INCLUDE_DIR}) +ENDIF(LZO_FOUND) + +MARK_AS_ADVANCED( + LZO_INCLUDE_DIR + LZO_LIBRARY +) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 33c764402a2..b266602fa63 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -321,6 +321,9 @@ macro(setup_liblinks endif() endif() + if(WITH_LZO AND WITH_SYSTEM_LZO) + target_link_libraries(${target} ${LZO_LIBRARIES}) + endif() if(WITH_SYSTEM_GLEW) target_link_libraries(${target} ${BLENDER_GLEW_LIBRARIES}) endif() @@ -539,7 +542,6 @@ macro(SETUP_BLENDER_SORTED_LIBS) ge_phys_dummy ge_phys_bullet bf_intern_smoke - extern_minilzo extern_lzma extern_colamd ge_logic_ketsji @@ -593,6 +595,10 @@ macro(SETUP_BLENDER_SORTED_LIBS) list(APPEND BLENDER_SORTED_LIBS extern_eltopo) endif() + if(NOT WITH_SYSTEM_LZO) + list(APPEND BLENDER_SORTED_LIBS extern_minilzo) + endif() + if(NOT WITH_SYSTEM_GLEW) list(APPEND BLENDER_SORTED_LIBS ${BLENDER_GLEW_LIBRARIES}) endif() |