blob: 013c671468e6095d40b6923c82b8e4673758698f (
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
SET(sources
blender_camera.cpp
blender_mesh.cpp
blender_object.cpp
blender_python.cpp
blender_session.cpp
blender_shader.cpp
blender_sync.cpp)
SET(headers
blender_sync.h
blender_session.h
blender_util.h)
SET(addonfiles
addon/__init__.py
addon/engine.py
addon/enums.py
addon/properties.py
addon/ui.py
addon/xml.py)
INCLUDE_DIRECTORIES(
../render
../device
../kernel
../kernel/svm
../util
../subd
${BLENDER_INCLUDE_DIRS}
${PYTHON_INCLUDE_DIRS}
${GLEW_INCLUDE_PATH})
SET(LIBRARIES
cycles_render
cycles_bvh
cycles_device
cycles_kernel
cycles_util
cycles_subd
${Boost_LIBRARIES}
${OPENGL_LIBRARIES}
${OPENIMAGEIO_LIBRARY}
${GLUT_LIBRARIES}
${CYCLES_GLEW_LIBRARY}
${BLENDER_LIBRARIES})
IF(WITH_CYCLES_OSL)
LIST(APPEND LIBRARIES cycles_kernel_osl ${OSL_LIBRARIES})
ENDIF()
IF(WITH_CYCLES_PARTIO)
LIST(APPEND LIBRARIES ${PARTIO_LIBRARIES})
ENDIF()
IF(WITH_CYCLES_OPENCL)
LIST(APPEND LIBRARIES ${OPENCL_LIBRARIES})
ENDIF()
LINK_DIRECTORIES(${PYTHON_LIBPATH})
SET(CMAKE_MODULE_LINKER_FLAGS ${PYTHON_MODULE_FLAGS})
ADD_LIBRARY(cycles_blender MODULE ${sources} ${headers})
ADD_DEPENDENCIES(cycles_blender bf_rna)
IF(WIN32)
TARGET_LINK_LIBRARIES(cycles_blender ${PYTHON_LINKFLAGS})
TARGET_LINK_LIBRARIES(cycles_blender debug ${PYTHON_LIBRARIES}_d)
TARGET_LINK_LIBRARIES(cycles_blender optimized ${PYTHON_LIBRARIES})
SET_TARGET_PROPERTIES(cycles_blender PROPERTIES PREFIX "lib")
SET_TARGET_PROPERTIES(cycles_blender PROPERTIES SUFFIX ".pyd")
ENDIF()
TARGET_LINK_LIBRARIES(cycles_blender ${LIBRARIES})
INSTALL(FILES ${addonfiles} DESTINATION ${CYCLES_INSTALL_PATH}/cycles)
INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${CYCLES_INSTALL_PATH}/cycles)
# Install Dynamic Libraries
IF(WIN32)
FILE(GLOB OIIO_DLLS "${CYCLES_OIIO}/bin/*.dll")
FILE(GLOB BOOST_DLLS "${CYCLES_BOOST}/lib/*.dll")
INSTALL(FILES ${OIIO_DLLS} ${BOOST_DLLS}
DESTINATION ${CYCLES_INSTALL_PATH}/cycles)
ENDIF()
IF(UNIX)
# copy libraries to cycles lib directory
SET(install_libs
${OPENIMAGEIO_LIBRARY}
${Boost_LIBRARIES}
${OSL_LIBRARIES}
${PARTIO_LIBRARIES})
LIST(REMOVE_ITEM install_libs optimized)
LIST(REMOVE_ITEM install_libs debug)
INSTALL(FILES ${install_libs}
DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib)
IF(NOT APPLE)
# set path to look for dynamic libs
SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib)
ELSE()
# modify our libs to looks for dynamic libs in cycles lib directory
SET(install_name_command "install_name_tool")
FOREACH(lib ${install_libs})
GET_FILENAME_COMPONENT(libname ${lib} NAME)
SET(install_name_command " ${install_name_command} -change ${lib} @loader_path/lib/${libname}")
SET(install_name_command " ${install_name_command} -change ${libname} @loader_path/lib/${libname}")
ENDFOREACH()
INSTALL(
CODE
"
EXECUTE_PROCESS(COMMAND ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so)
"
)
ELSE()
ENDIF()
ENDIF()
|