OpenVDB: Get rid of hardcoded TBB variables and enabled for Linux buildbot
This commit is contained in:
@@ -1063,19 +1063,11 @@ if(UNIX AND NOT APPLE)
|
|||||||
|
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
find_package_wrapper(OpenVDB)
|
find_package_wrapper(OpenVDB)
|
||||||
|
find_package_wrapper(TBB)
|
||||||
set(TBB ${LIBDIR}/tbb)
|
if(NOT OPENVDB_FOUND OR NOT TBB_FOUND)
|
||||||
set(TBB_LIBRARIES tbb)
|
|
||||||
set(TBB_LIBPATH ${TBB}/lib)
|
|
||||||
|
|
||||||
set(OPENVDB_LIBRARIES ${OPENVDB_LIBRARIES} ${BOOST_LIBRARIES} ${ZLIB_LIBRARIES} ${TBB_LIBRARIES})
|
|
||||||
set(OPENVDB_LIBPATH) # TODO, remove and reference the absolute path everywhere
|
|
||||||
set(OPENVDB_DEFINITIONS)
|
|
||||||
|
|
||||||
if(NOT OPENVDB_FOUND)
|
|
||||||
set(WITH_OPENVDB OFF)
|
set(WITH_OPENVDB OFF)
|
||||||
set(WITH_OPENVDB_BLOSC OFF)
|
set(WITH_OPENVDB_BLOSC OFF)
|
||||||
message(STATUS "OpenVDB not found")
|
message(STATUS "OpenVDB not found, disabling it")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@@ -101,5 +101,8 @@ set(PNG_LIBRARY "/usr/lib/libpng.a" CACHE STRING "" FORCE)
|
|||||||
set(TIFF_LIBRARY "/usr/lib/libtiff.a" CACHE STRING "" FORCE)
|
set(TIFF_LIBRARY "/usr/lib/libtiff.a" CACHE STRING "" FORCE)
|
||||||
set(ZLIB_LIBRARY "/usr/lib/libz.a" CACHE STRING "" FORCE)
|
set(ZLIB_LIBRARY "/usr/lib/libz.a" CACHE STRING "" FORCE)
|
||||||
|
|
||||||
|
# OpenVDB
|
||||||
|
set(WITH_OPENVDB ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
# Additional linking libraries
|
# Additional linking libraries
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "-lrt -static-libstdc++" CACHE STRING "" FORCE)
|
set(CMAKE_EXE_LINKER_FLAGS "-lrt -static-libstdc++" CACHE STRING "" FORCE)
|
||||||
|
73
build_files/cmake/Modules/FindTBB.cmake
Normal file
73
build_files/cmake/Modules/FindTBB.cmake
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
# - Find TBB library
|
||||||
|
# Find the native TBB includes and library
|
||||||
|
# This module defines
|
||||||
|
# TBB_INCLUDE_DIRS, where to find tbb.h, Set when
|
||||||
|
# TBB is found.
|
||||||
|
# TBB_LIBRARIES, libraries to link against to use TBB.
|
||||||
|
# TBB_ROOT_DIR, The base directory to search for TBB.
|
||||||
|
# This can also be an environment variable.
|
||||||
|
# TBB_FOUND, If false, do not try to use TBB.
|
||||||
|
#
|
||||||
|
# also defined, but not for general use are
|
||||||
|
# TBB_LIBRARY, where to find the TBB library.
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2016 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 TBB_ROOT_DIR was defined in the environment, use it.
|
||||||
|
IF(NOT TBB_ROOT_DIR AND NOT $ENV{TBB_ROOT_DIR} STREQUAL "")
|
||||||
|
SET(TBB_ROOT_DIR $ENV{TBB_ROOT_DIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(_tbb_SEARCH_DIRS
|
||||||
|
${TBB_ROOT_DIR}
|
||||||
|
/usr/local
|
||||||
|
/sw # Fink
|
||||||
|
/opt/local # DarwinPorts
|
||||||
|
/opt/csw # Blastwave
|
||||||
|
/opt/lib/tbb
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_PATH(TBB_INCLUDE_DIR
|
||||||
|
NAMES
|
||||||
|
tbb/tbb.h
|
||||||
|
HINTS
|
||||||
|
${_tbb_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(TBB_LIBRARY
|
||||||
|
NAMES
|
||||||
|
tbb
|
||||||
|
HINTS
|
||||||
|
${_tbb_SEARCH_DIRS}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64 lib
|
||||||
|
)
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set TBB_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TBB DEFAULT_MSG
|
||||||
|
TBB_LIBRARY TBB_INCLUDE_DIR)
|
||||||
|
|
||||||
|
IF(TBB_FOUND)
|
||||||
|
SET(TBB_LIBRARIES ${TBB_LIBRARY})
|
||||||
|
SET(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
|
||||||
|
ELSE()
|
||||||
|
SET(TBB_TBB_FOUND FALSE)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
TBB_INCLUDE_DIR
|
||||||
|
TBB_LIBRARY
|
||||||
|
)
|
@@ -404,7 +404,7 @@ function(setup_liblinks
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(WITH_OPENVDB)
|
if(WITH_OPENVDB)
|
||||||
target_link_libraries(${target} ${OPENVDB_LIBRARIES})
|
target_link_libraries(${target} ${OPENVDB_LIBRARIES} ${TBB_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
if(WITH_CYCLES_OSL)
|
if(WITH_CYCLES_OSL)
|
||||||
target_link_libraries(${target} ${OSL_LIBRARIES})
|
target_link_libraries(${target} ${OSL_LIBRARIES})
|
||||||
|
@@ -42,6 +42,7 @@ if(WITH_OPENVDB)
|
|||||||
|
|
||||||
list(APPEND INC_SYS
|
list(APPEND INC_SYS
|
||||||
${BOOST_INCLUDE_DIR}
|
${BOOST_INCLUDE_DIR}
|
||||||
|
${TBB_INCLUDE_DIRS}
|
||||||
${OPENEXR_INCLUDE_DIRS}
|
${OPENEXR_INCLUDE_DIRS}
|
||||||
${OPENVDB_INCLUDE_DIRS}
|
${OPENVDB_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user