Welcome to mirror list, hosted at ThFree Co, Russian Federation.

external_libs.cmake « cmake « cycles « intern - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0915d4d92c89a794faf0e375073deebe20895412 (plain)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102

###########################################################################
# GLUT

if(WITH_CYCLES_TEST)
	set(GLUT_ROOT_PATH ${CYCLES_GLUT})

	find_package(GLUT)
	message(STATUS "GLUT_FOUND=${GLUT_FOUND}")

	include_directories(${GLUT_INCLUDE_DIR})
endif()

if(WITH_BUILTIN_GLEW)
	set(CYCLES_GLEW_LIBRARY extern_glew)
else()
	set(CYCLES_GLEW_LIBRARY ${GLEW_LIBRARY})
endif()

###########################################################################
# OpenShadingLanguage

if(WITH_CYCLES_OSL)

	set(CYCLES_OSL "" CACHE PATH "Path to OpenShadingLanguage installation")

	message(STATUS "CYCLES_OSL = ${CYCLES_OSL}")

	find_library(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist)
	find_path(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include ${CYCLES_OSL}/dist)
	find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin ${CYCLES_OSL}/dist)

	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()

	include_directories(${OSL_INCLUDES} ${OSL_INCLUDES}/OSL ${OSL_INCLUDES}/../../../src/liboslexec)

endif()

###########################################################################
# Partio

if(WITH_CYCLES_PARTIO)

	set(CYCLES_PARTIO "" CACHE PATH "Path to Partio installation")

	message(STATUS "CYCLES_PARTIO = ${CYCLES_PARTIO}")

	find_library(PARTIO_LIBRARIES NAMES partio PATHS ${CYCLES_PARTIO}/lib)
	find_path(PARTIO_INCLUDES Partio.h ${CYCLES_PARTIO}/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()

	include_directories(${PARTIO_INCLUDES})

endif()

###########################################################################
# Blender

if(WITH_CYCLES_BLENDER)

	set(BLENDER_INCLUDE_DIRS
		${CMAKE_SOURCE_DIR}/intern/guardedalloc
		${CMAKE_SOURCE_DIR}/source/blender/makesdna
		${CMAKE_SOURCE_DIR}/source/blender/makesrna
		${CMAKE_SOURCE_DIR}/source/blender/blenloader
		${CMAKE_BINARY_DIR}/source/blender/makesrna/intern)

	add_definitions(-DBLENDER_PLUGIN)
endif()

###########################################################################
# CUDA

if(WITH_CYCLES_CUDA)
	find_package(CUDA) # Try to auto locate CUDA toolkit
	if(CUDA_FOUND)
		message(STATUS "CUDA nvcc = ${CUDA_NVCC_EXECUTABLE}")
		set(CYCLES_CUDA_ARCH sm_10 sm_11 sm_12 sm_13 sm_20 sm_21 CACHE STRING "CUDA architectures to build for")
		set(CYCLES_CUDA_MAXREG 24 CACHE STRING "CUDA maximum number of register to use")
	else()
		message(STATUS "CUDA compiler not found, disabling WITH_CYCLES_CUDA")
		set(WITH_CYCLES_CUDA OFF)
	endif()
endif()