blender/intern/cycles/cmake/external_libs.cmake

211 lines
5.9 KiB
CMake
Raw Normal View History

###########################################################################
# Boost setup
MESSAGE(STATUS "BOOST_PATH ${BOOST_PATH}")
SET(BOOST_ROOT ${BOOST_PATH})
SET(Boost_ADDITIONAL_VERSIONS "1.45" "1.44"
"1.43" "1.43.0" "1.42" "1.42.0"
"1.41" "1.41.0" "1.40" "1.40.0"
"1.39" "1.39.0" "1.38" "1.38.0"
"1.37" "1.37.0" "1.34.1" "1_34_1")
IF(LINKSTATIC)
SET(Boost_USE_STATIC_LIBS ON)
ENDIF()
SET(Boost_USE_MULTITHREADED ON)
FIND_PACKAGE(Boost 1.34 REQUIRED COMPONENTS filesystem regex system serialization thread)
MESSAGE(STATUS "Boost found ${Boost_FOUND}")
MESSAGE(STATUS "Boost version ${Boost_VERSION}")
MESSAGE(STATUS "Boost include dirs ${Boost_INCLUDE_DIRS}")
MESSAGE(STATUS "Boost library dirs ${Boost_LIBRARY_DIRS}")
MESSAGE(STATUS "Boost libraries ${Boost_LIBRARIES}")
INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}")
LINK_DIRECTORIES("${Boost_LIBRARY_DIRS}")
IF(WITH_NETWORK)
ADD_DEFINITIONS(-DWITH_NETWORK)
ENDIF()
IF(WITH_MULTI)
ADD_DEFINITIONS(-DWITH_MULTI)
ENDIF()
###########################################################################
# OpenImageIO
MESSAGE(STATUS "OIIO_PATH = ${OIIO_PATH}")
FIND_LIBRARY(OPENIMAGEIO_LIBRARY NAMES OpenImageIO PATHS ${OIIO_PATH}/lib)
FIND_PATH(OPENIMAGEIO_INCLUDES OpenImageIO/imageio.h ${OIIO_PATH}/include)
FIND_PROGRAM(OPENIMAGEIO_IDIFF NAMES idiff PATHS ${OIIO_PATH}/bin)
IF(OPENIMAGEIO_INCLUDES AND OPENIMAGEIO_LIBRARY)
SET(OPENIMAGEIO_FOUND TRUE)
MESSAGE(STATUS "OpenImageIO includes = ${OPENIMAGEIO_INCLUDES}")
MESSAGE(STATUS "OpenImageIO library = ${OPENIMAGEIO_LIBRARY}")
ELSE()
MESSAGE(STATUS "OpenImageIO not found")
ENDIF()
ADD_DEFINITIONS(-DWITH_OIIO)
INCLUDE_DIRECTORIES(${OPENIMAGEIO_INCLUDES} ${OPENIMAGEIO_INCLUDES}/OpenImageIO)
###########################################################################
# OpenGL
FIND_PACKAGE(OpenGL)
MESSAGE(STATUS "OPENGL_FOUND=${OPENGL_FOUND}")
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
###########################################################################
# GLUT
SET(GLUT_ROOT_PATH ${GLUT_PATH})
FIND_PACKAGE(GLUT)
MESSAGE(STATUS "GLUT_FOUND=${GLUT_FOUND}")
INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR})
###########################################################################
# GLEW
SET(GLEW_VERSION 1.5.1)
FIND_LIBRARY(GLEW_LIBRARIES NAMES GLEW PATHS ${GLEW_PATH}/lib)
FIND_PATH(GLEW_INCLUDES NAMES glew.h PATH_SUFFIXES GL PATHS ${GLEW_PATH}/include)
IF(GLEW_INCLUDES AND GLEW_LIBRARIES)
MESSAGE(STATUS "GLEW includes = ${GLEW_INCLUDES}")
MESSAGE(STATUS "GLEW library = ${GLEW_LIBRARIES}")
ELSE()
MESSAGE(STATUS "GLEW not found")
ENDIF()
INCLUDE_DIRECTORIES("${GLEW_INCLUDES}")
###########################################################################
# OpenShadingLanguage
IF(WITH_OSL)
MESSAGE(STATUS "OSL_PATH = ${OSL_PATH}")
FIND_LIBRARY(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${OSL_PATH}/lib)
FIND_PATH(OSL_INCLUDES OSL/oslclosure.h ${OSL_PATH}/include)
FIND_PROGRAM(OSL_COMPILER NAMES oslc PATHS ${OSL_PATH}/bin)
IF(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER)
SET(OSL_FOUND TRUE)
MESSAGE(STATUS "OSL includes = ${OSL_INCLUDES}")
MESSAGE(STATUS "OSL library = ${OSL_LIBRARIES}")
MESSAGE(STATUS "OSL compiler = ${OSL_COMPILER}")
ELSE()
MESSAGE(STATUS "OSL not found")
ENDIF()
ADD_DEFINITIONS(-DWITH_OSL)
INCLUDE_DIRECTORIES(${OSL_INCLUDES} ${OSL_INCLUDES}/OSL ${OSL_INCLUDES}/../../../src/liboslexec)
ENDIF()
###########################################################################
# Partio
IF(WITH_PARTIO)
MESSAGE(STATUS "PARTIO_PATH = ${PARTIO_PATH}")
FIND_LIBRARY(PARTIO_LIBRARIES NAMES partio PATHS ${PARTIO_PATH}/lib)
FIND_PATH(PARTIO_INCLUDES Partio.h ${PARTIO_PATH}/include)
FIND_PACKAGE(ZLIB)
IF(PARTIO_INCLUDES AND PARTIO_LIBRARIES AND ZLIB_LIBRARIES)
LIST(APPEND PARTIO_LIBRARIES ${ZLIB_LIBRARIES})
SET(PARTIO_FOUND TRUE)
MESSAGE(STATUS "PARTIO includes = ${PARTIO_INCLUDES}")
MESSAGE(STATUS "PARTIO library = ${PARTIO_LIBRARIES}")
ELSE()
MESSAGE(STATUS "PARTIO not found")
ENDIF()
ADD_DEFINITIONS(-DWITH_PARTIO)
INCLUDE_DIRECTORIES(${PARTIO_INCLUDES})
ENDIF()
###########################################################################
# Python
IF(WITH_BLENDER)
FIND_PATH(PYTHON_INCLUDE_DIRS Python.h PATHS ${PYTHON_PATH} ${PYTHON_PATH}/include ${PYTHON_PATH}/include/python3.1 ${PYTHON_PATH}/include/python3.2 NO_DEFAULT_PATH)
IF(WIN32)
FIND_LIBRARY(PYTHON_LIBRARIES NAMES python31 PATHS ${PYTHON_PATH}/lib)
ENDIF()
ENDIF()
###########################################################################
# Blender
IF(WITH_BLENDER)
FIND_PATH(BLENDER_INCLUDE_DIRS RNA_blender.h PATHS ${BLENDER_PATH}/include)
IF(WIN32)
SET(BLENDER_LIBRARIES ${BLENDER_PATH}/bin/Release/blender.lib)
ENDIF()
ENDIF()
###########################################################################
# CUDA
IF(WITH_CUDA)
FIND_LIBRARY(CUDA_LIBRARIES NAMES cuda PATHS ${CUDA_PATH}/lib ${CUDA_PATH}/lib/Win32 NO_DEFAULT_PATH)
FIND_PATH(CUDA_INCLUDES cuda.h ${CUDA_PATH}/include NO_DEFAULT_PATH)
FIND_PROGRAM(CUDA_NVCC NAMES nvcc PATHS ${CUDA_PATH}/bin NO_DEFAULT_PATH)
IF(CUDA_INCLUDES AND CUDA_LIBRARIES AND CUDA_NVCC)
MESSAGE(STATUS "CUDA includes = ${CUDA_INCLUDES}")
MESSAGE(STATUS "CUDA library = ${CUDA_LIBRARIES}")
MESSAGE(STATUS "CUDA nvcc = ${CUDA_NVCC}")
ELSE()
MESSAGE(STATUS "CUDA not found")
ENDIF()
ADD_DEFINITIONS(-DWITH_CUDA)
INCLUDE_DIRECTORIES(${CUDA_INCLUDES})
ENDIF()
###########################################################################
# OpenCL
IF(WITH_OPENCL)
IF(APPLE)
SET(OPENCL_INCLUDES "/System/Library/Frameworks/OpenCL.framework/Headers")
SET(OPENCL_LIBRARIES "-framework OpenCL")
ENDIF()
IF(WIN32)
SET(OPENCL_INCLUDES "")
SET(OPENCL_LIRBARIES "OpenCL")
ENDIF()
IF(UNIX AND NOT APPLE)
SET(OPENCL_INCLUDES ${OPENCL_PATH})
SET(OPENCL_LIRBARIES "OpenCL")
ENDIF()
ADD_DEFINITIONS(-DWITH_OPENCL)
INCLUDE_DIRECTORIES(${OPENCL_INCLUDES})
ENDIF()