forked from bartvdbraak/blender
Build: Added explicit search for Blosc in CMake files. Unix build will now disable WITH_OPENVDB_BLOSC if Blosc libraries cannot be found.
This commit is contained in:
parent
0ab30f9e39
commit
f1e6838376
72
build_files/cmake/Modules/FindBlosc.cmake
Normal file
72
build_files/cmake/Modules/FindBlosc.cmake
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
# - Find Blosc library
|
||||||
|
# Find the native Blosc includes and library
|
||||||
|
# This module defines
|
||||||
|
# BLOSC_INCLUDE_DIRS, where to find blosc.h, Set when
|
||||||
|
# Blosc is found.
|
||||||
|
# BLOSC_LIBRARIES, libraries to link against to use Blosc.
|
||||||
|
# BLOSC_ROOT_DIR, The base directory to search for Blosc.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# BLOSC_FOUND, If false, do not try to use Blosc.
|
||||||
|
#
|
||||||
|
# also defined, but not for general use are
|
||||||
|
# BLOSC_LIBRARY, where to find the Blosc library.
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2018 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 BLOSC_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT BLOSC_ROOT_DIR AND NOT $ENV{BLOSC_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(BLOSC_ROOT_DIR $ENV{BLOSC_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_blosc_SEARCH_DIRS
|
||||||
|
${BLOSC_ROOT_DIR}
|
||||||
|
/usr/local
|
||||||
|
/sw # Fink
|
||||||
|
/opt/local # DarwinPorts
|
||||||
|
/opt/lib/blosc
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_PATH(BLOSC_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
blosc.h
|
||||||
|
HINTS
|
||||||
|
${_blosc_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(BLOSC_LIBRARY
|
||||||
|
NAMES
|
||||||
|
blosc
|
||||||
|
HINTS
|
||||||
|
${_blosc_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set BLOSC_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(BLOSC DEFAULT_MSG
|
||||||
|
BLOSC_LIBRARY BLOSC_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(BLOSC_FOUND)
|
||||||
|
SET(BLOSC_LIBRARIES ${BLOSC_LIBRARY})
|
||||||
|
SET(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIR})
|
||||||
|
ELSE()
|
||||||
|
SET(BLOSC_BLOSC_FOUND FALSE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
BLOSC_INCLUDE_DIR
|
||||||
|
BLOSC_LIBRARY
|
||||||
|
)
|
@ -425,7 +425,7 @@ function(setup_liblinks
|
|||||||
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES})
|
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES} ${BLOSC_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
if(WITH_CYCLES_OSL)
|
if(WITH_CYCLES_OSL)
|
||||||
target_link_libraries(${target} ${OSL_LIBRARIES})
|
target_link_libraries(${target} ${OSL_LIBRARIES})
|
||||||
|
@ -237,10 +237,14 @@ endif()
|
|||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
find_package_wrapper(OpenVDB)
|
find_package_wrapper(OpenVDB)
|
||||||
find_package_wrapper(TBB)
|
find_package_wrapper(TBB)
|
||||||
|
find_package_wrapper(Blosc)
|
||||||
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
|
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
|
||||||
set(WITH_OPENVDB OFF)
|
set(WITH_OPENVDB OFF)
|
||||||
set(WITH_OPENVDB_BLOSC OFF)
|
set(WITH_OPENVDB_BLOSC OFF)
|
||||||
message(STATUS "OpenVDB not found, disabling it")
|
message(STATUS "OpenVDB not found, disabling it")
|
||||||
|
elseif(NOT BLOSC_FOUND)
|
||||||
|
set(WITH_OPENVDB_BLOSC OFF)
|
||||||
|
message(STATUS "Blosc not found, disabling it")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user