move the thumbnailer to bin/
[blender.git] / source / creator / CMakeLists.txt
1 # $Id$
2 # ***** BEGIN GPL LICENSE BLOCK *****
3 #
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software Foundation,
16 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 #
18 # The Original Code is Copyright (C) 2006, Blender Foundation
19 # All rights reserved.
20 #
21 # The Original Code is: all of this file.
22 #
23 # Contributor(s): Jacques Beaurain.
24 #
25 # ***** END GPL LICENSE BLOCK *****
26
27 # So BUILDINFO and BLENDERPATH strings are automatically quoted
28 CMAKE_POLICY(SET CMP0005 NEW)
29
30 SETUP_LIBDIRS()
31
32 INCLUDE_DIRECTORIES(
33         ../../intern/guardedalloc
34         ../blender/blenlib
35         ../blender/blenkernel
36         ../blender/editors/include
37         ../blender/makesrna
38         ../blender/imbuf
39         ../blender/render/extern/include
40         ../blender/makesdna
41         ../blender/gpu
42         ../blender/windowmanager
43         ../kernel/gen_messaging
44         ../kernel/gen_system
45 )
46
47 IF(WIN32)
48         INCLUDE_DIRECTORIES(${PTHREADS_INC})
49 ENDIF(WIN32)
50
51 IF(WITH_QUICKTIME)
52         ADD_DEFINITIONS(-DWITH_QUICKTIME)
53 ENDIF(WITH_QUICKTIME)
54
55 IF(WITH_OPENEXR)
56         ADD_DEFINITIONS(-DWITH_OPENEXR)
57 ENDIF(WITH_OPENEXR)
58
59 IF(WITH_TIFF)
60         ADD_DEFINITIONS(-DWITH_TIFF)
61 ENDIF(WITH_TIFF)
62
63 IF(WITH_PYTHON)
64         INCLUDE_DIRECTORIES(../blender/python)
65 ELSE(WITH_PYTHON)
66         ADD_DEFINITIONS(-DDISABLE_PYTHON)
67 ENDIF(WITH_PYTHON)
68
69 IF(NOT WITH_SDL)
70         ADD_DEFINITIONS(-DDISABLE_SDL)
71 ENDIF(NOT WITH_SDL)
72
73 IF(UNIX AND NOT APPLE)
74         SET(BLENDERPATH ${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION})
75         # blender_path in creator.c
76         ADD_DEFINITIONS(-DBLENDERPATH="${BLENDERPATH}")
77 ENDIF(UNIX AND NOT APPLE)
78
79 IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
80         ADD_DEFINITIONS(-DWITH_BINRELOC)
81         INCLUDE_DIRECTORIES(${BINRELOC_INC})
82 ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
83
84 # Setup the exe sources and buildinfo
85 SET(EXESRC creator.c)
86
87 IF(WIN32)
88         SET(EXESRC ${EXESRC} ../icons/winblender.rc)
89 ENDIF(WIN32)
90
91 IF(WITH_BUILDINFO)
92         ADD_DEFINITIONS(-DBUILD_DATE="${BUILD_DATE}")
93         ADD_DEFINITIONS(-DBUILD_TIME="${BUILD_TIME}")
94         ADD_DEFINITIONS(-DBUILD_REV="${BUILD_REV}")
95         ADD_DEFINITIONS(-DBUILD_PLATFORM="${CMAKE_SYSTEM_NAME}")
96         ADD_DEFINITIONS(-DBUILD_TYPE="${CMAKE_BUILD_TYPE}")
97         
98         SET(EXESRC ${EXESRC} buildinfo.c)
99 ENDIF(WITH_BUILDINFO)
100
101 MESSAGE(STATUS "Configuring blender")
102
103 ADD_EXECUTABLE(blender ${EXETYPE} ${EXESRC})
104
105 # Post build steps for bundling/packaging.
106
107 SET(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
108
109 IF(WITH_INSTALL)
110
111         IF(UNIX)
112                 ADD_CUSTOM_COMMAND(TARGET blender
113                         POST_BUILD
114                         MAIN_DEPENDENCY blender
115                         #COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/plugins ${TARGETDIR}/
116                         #COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/text/* ${TARGETDIR}/
117                 )
118         ENDIF(UNIX)
119
120         IF(UNIX AND NOT APPLE)
121                 
122                 # Local installation, "make install" can be done after this optionally
123                 
124                 ADD_CUSTOM_COMMAND(
125                         TARGET blender POST_BUILD MAIN_DEPENDENCY blender
126                         COMMAND rm -Rf ${TARGETDIR}/.blender
127                         COMMAND mkdir ${TARGETDIR}/.blender/
128                         COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.bfont.ttf ${TARGETDIR}/.blender/
129                 )
130     
131                 IF(WITH_INTERNATIONAL)
132                         ADD_CUSTOM_COMMAND(
133                                 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
134                                 COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/.blender/
135                                 COMMAND cp -R ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/.blender/
136                         )
137                 ENDIF(WITH_INTERNATIONAL)
138     
139                 IF(WITH_PYTHON)
140                         ADD_CUSTOM_COMMAND(
141                                 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
142                                 COMMENT "copying blender scripts..."
143                                 COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/scripts ${TARGETDIR}/.blender/
144                                 COMMAND find ${TARGETDIR} -name "*.py?" -prune -exec rm -rf {} "\;"
145                         )
146       
147                         # Copy the systems python into the install directory
148                         # Scons copy in tools/Blender.py
149                         ADD_CUSTOM_COMMAND(
150                                 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
151                                 COMMENT "copying a subset of the systems python..."
152         
153                                 COMMAND mkdir ${TARGETDIR}/.blender/python # PYTHONPATH and PYTHONHOME is set here
154                                 COMMAND mkdir ${TARGETDIR}/.blender/python/lib/
155                                 COMMAND cp -R ${PYTHON_LIBPATH}/python${PYTHON_VERSION} ${TARGETDIR}/.blender/python/lib/
156         
157                                 COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/distutils
158                                 COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/lib2to3
159                                 COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/idlelib
160                                 COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/tkinter
161                                 COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/config
162         
163                                 COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/site-packages
164                                 COMMAND mkdir ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/site-packages    # python needs it.
165
166                                 COMMAND rm -f ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/lib-dynload/_tkinter.so
167                                 COMMAND find ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION} -name "test" -prune -exec rm -rf {} "\;"
168                                 COMMAND find ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION} -name "*.py?" -exec rm -rf {} "\;"
169                                 COMMAND find ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION} -name "*.so"-exec strip -s {} "\;"
170                         )
171      
172                 ENDIF(WITH_PYTHON)
173       
174                 ADD_CUSTOM_COMMAND(
175                         TARGET blender POST_BUILD MAIN_DEPENDENCY blender
176                         COMMAND find ${TARGETDIR} -name .svn -prune -exec rm -rf {} "\;"
177                 )
178     
179     
180                 # Above we bundle a portable distrobution in ./bin
181                 # This is an optional "make install" which installs blender on the system.
182                 INSTALL(
183                         PROGRAMS ${TARGETDIR}/blender
184                         DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
185                 )
186
187                 IF(WITH_GAMEENGINE AND WITH_PLAYER)
188                         INSTALL(
189                                 PROGRAMS ${TARGETDIR}/blenderplayer
190                                 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
191                         )
192                 ENDIF(WITH_GAMEENGINE AND WITH_PLAYER)
193
194                 INSTALL(
195             FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
196             DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications
197         )
198                 INSTALL(
199             FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/blender.svg
200             DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps
201         )
202                 INSTALL(
203                         PROGRAMS ${CMAKE_SOURCE_DIR}/bin/blender-thumbnailer.py
204                         DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
205                 )
206                 INSTALL(
207             FILES ${CMAKE_SOURCE_DIR}/doc/blender.1
208             DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1
209         )
210                 INSTALL(
211             DIRECTORY ${CMAKE_SOURCE_DIR}/release/text/
212             DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/blender
213             PATTERN ".svn" EXCLUDE
214         )
215                 INSTALL(
216             DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts/
217             DESTINATION ${BLENDERPATH}/scripts
218             PATTERN ".svn" EXCLUDE
219                         PATTERN "*.pyc" EXCLUDE
220         )
221                 IF(WITH_INTERNATIONAL)
222                         INSTALL(
223                 DIRECTORY ${CMAKE_SOURCE_DIR}/bin/.blender/locale/
224                 DESTINATION ${BLENDERPATH}/datafiles/locale
225                 PATTERN ".svn" EXCLUDE
226                 )
227                 ENDIF(WITH_INTERNATIONAL)
228         
229                 # end "make install"
230     
231         ENDIF(UNIX AND NOT APPLE)
232
233         IF(APPLE)
234                 SET(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app)
235                 SET(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist)
236                 SET(TARGETINFO ${TARGETDIR}/blender.app/Contents/Info.plist)
237
238                 ADD_CUSTOM_COMMAND(
239                         TARGET blender POST_BUILD MAIN_DEPENDENCY blender
240                         COMMAND cp -Rf ${SOURCEINFO} ${TARGETDIR}/blender.app/Contents/
241                         COMMAND cp -Rf ${SOURCEDIR}/Contents/PkgInfo ${TARGETDIR}/blender.app/Contents/
242                         COMMAND cp -Rf ${SOURCEDIR}/Contents/Resources ${TARGETDIR}/blender.app/Contents/
243                         COMMAND cat ${SOURCEINFO} | sed s/VERSION/`cat ${CMAKE_SOURCE_DIR}/release/VERSION`/ | sed s/DATE/`date +'%Y-%b-%d'`/ > ${TARGETINFO}
244                         COMMAND rm -Rf ${TARGETDIR}/blender.app/Contents/MacOS/datafiles
245                         COMMAND mkdir ${TARGETDIR}/blender.app/Contents/MacOS/datafiles/
246                         COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.bfont.ttf ${TARGETDIR}/blender.app/Contents/MacOS/datafiles/
247                 )
248       
249                 IF(WITH_INTERNATIONAL)
250                         ADD_CUSTOM_COMMAND(
251                                 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
252                                 COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/blender.app/Contents/MacOS/datafiles/
253                                 COMMAND cp -Rf ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/blender.app/Contents/MacOS/datafiles/
254                         )
255                 ENDIF(WITH_INTERNATIONAL)
256       
257                 IF(WITH_PYTHON)
258                         IF(WITH_LIBS10.5)
259                                 SET(PYTHON_ZIP "python_${CMAKE_OSX_ARCHITECTURES}.zip")
260                         ELSE(WITH_LIBS10.5)
261                                 SET(PYTHON_ZIP "python.zip")
262                         ENDIF(WITH_LIBS10.5)
263                         ADD_CUSTOM_COMMAND(
264                                 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
265                                 COMMAND cp -Rf ${CMAKE_SOURCE_DIR}/release/scripts ${TARGETDIR}/blender.app/Contents/MacOS/scripts/
266                                 COMMAND rm -Rf ${TARGETDIR}/blender.app/Contents/MacOS/python/
267                                 COMMAND mkdir ${TARGETDIR}/blender.app/Contents/MacOS/python/
268                                 COMMAND unzip -q ${LIBDIR}/release/${PYTHON_ZIP} -d ${TARGETDIR}/blender.app/Contents/MacOS/python/
269                                 COMMAND find ${TARGETDIR}/blender.app -name "*.py?" -prune -exec rm -rf {} "\;"
270                         )
271                 ENDIF(WITH_PYTHON)      
272     
273                 ADD_CUSTOM_COMMAND(
274                         TARGET blender POST_BUILD MAIN_DEPENDENCY blender    
275                         COMMAND find ${TARGETDIR}/blender.app -name .DS_Store -prune -exec rm -rf {} "\;"
276                         COMMAND find ${TARGETDIR}/blender.app -name .svn -prune -exec rm -rf {} "\;"
277                         COMMAND find ${TARGETDIR}/blender.app -name __MACOSX -prune -exec rm -rf {} "\;"
278                 )
279         ENDIF(APPLE)
280
281         IF(WIN32)
282                 ADD_CUSTOM_COMMAND(TARGET blender
283                         POST_BUILD
284                         MAIN_DEPENDENCY blender
285                         COMMAND if not exist \"${TARGETDIR}\\.blender\" mkdir \"${TARGETDIR}\\.blender\"
286                         COMMAND if not exist \"${TARGETDIR}\\.blender\\locale\" mkdir \"${TARGETDIR}\\.blender\\locale\"
287                         COMMAND if not exist \"${TARGETDIR}\\.blender\\scripts\" mkdir \"${TARGETDIR}\\.blender\\scripts\"
288                         COMMAND if not exist \"${TARGETDIR}\\plugins\" mkdir \"${TARGETDIR}\\plugins\"
289                         COMMAND copy /Y \"${CMAKE_SOURCE_DIR}\\bin\\.blender\\.Blanguages\" \"${TARGETDIR}\\.blender\\\" 
290                         COMMAND copy /Y \"${CMAKE_SOURCE_DIR}\\bin\\.blender\\.bfont.ttf\" \"${TARGETDIR}\\.blender\\\"
291                         COMMAND xcopy /E /Y \"${CMAKE_SOURCE_DIR}\\bin\\.blender\\locale\\*.*\" \"${TARGETDIR}\\.blender\\locale\"
292                         COMMAND xcopy /E /Y \"${CMAKE_SOURCE_DIR}\\release\\scripts\\*.*\" \"${TARGETDIR}\\.blender\\scripts\"
293                         COMMAND xcopy /E /Y \"${CMAKE_SOURCE_DIR}\\release\\plugins\\*.*\" \"${TARGETDIR}\\plugins\"
294                         COMMAND copy /Y \"${CMAKE_SOURCE_DIR}\\release\\text\\*.*\" \"${TARGETDIR}\"
295                         # TODO, copy python bundle
296                         # COMMAND copy /Y \"${CMAKE_SOURCE_DIR}\\release\\windows\\extra\\python31.zip\" \"${TARGETDIR}\\\"
297                 )
298     
299                 ADD_CUSTOM_COMMAND(TARGET blender
300                         POST_BUILD
301                         MAIN_DEPENDENCY blender
302                         COMMAND copy /Y \"${LIBDIR}\\release\\python31.zip\" \"${TARGETDIR}\\\"
303                         COMMAND copy /Y \"${LIBDIR}\\release\\python31.zip\" \"${TARGETDIR}\\python31_d.zip\"
304                         COMMAND copy /Y \"${LIBDIR}\\gettext\\lib\\gnu_gettext.dll\" \"${TARGETDIR}\\\"
305                         COMMAND copy /Y \"${LIBDIR}\\png\\lib\\libpng.dll\" \"${TARGETDIR}\\\"
306                         COMMAND copy /Y \"${LIBDIR}\\sdl\\lib\\SDL.dll\" \"${TARGETDIR}\\\"
307                         COMMAND copy /Y \"${LIBDIR}\\zlib\\lib\\zlib.dll\" \"${TARGETDIR}\\\"
308                         COMMAND copy /Y \"${LIBDIR}\\python\\lib\\python31.dll\" \"${TARGETDIR}\\\"
309                         COMMAND copy /Y \"${LIBDIR}\\python\\lib\\python31_d.dll\" \"${TARGETDIR}\\\"
310                         COMMAND copy /Y \"${LIBDIR}\\pthreads\\lib\\pthreadVC2.dll\" \"${TARGETDIR}\\\"
311                         # COMMAND copy /Y \"${LIBDIR}\\samplerate\\lib\\libsamplerate-0.dll\" \"${TARGETDIR}\\\"
312                 )
313
314                 IF(WITH_INTERNATIONAL)
315                         ADD_CUSTOM_COMMAND(TARGET blender
316                                 POST_BUILD
317                                 MAIN_DEPENDENCY blender
318                                 COMMAND copy /Y \"${LIBDIR}\\iconv\\lib\\iconv.dll\" \"${TARGETDIR}\\\"
319                         )
320                 ENDIF(WITH_INTERNATIONAL)
321
322                 IF(WITH_FFMPEG)
323                         ADD_CUSTOM_COMMAND(TARGET blender
324                                 POST_BUILD
325                                 MAIN_DEPENDENCY blender
326                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\avcodec-52.dll\" \"${TARGETDIR}\\\"
327                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\avformat-52.dll\" \"${TARGETDIR}\\\"
328                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\avdevice-52.dll\" \"${TARGETDIR}\\\"
329                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\avutil-50.dll\" \"${TARGETDIR}\\\"
330                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\libfaac-0.dll\" \"${TARGETDIR}\\\"
331                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\libfaad-2.dll\" \"${TARGETDIR}\\\"
332                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\libmp3lame-0.dll\" \"${TARGETDIR}\\\"
333                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\libx264-67.dll\" \"${TARGETDIR}\\\"
334                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\swscale-0.dll\" \"${TARGETDIR}\\\"
335                                 COMMAND copy /Y \"${LIBDIR}\\ffmpeg\\lib\\xvidcore.dll\" \"${TARGETDIR}\\\"
336                         )
337                 ENDIF(WITH_FFMPEG)
338
339                 IF(WITH_SNDFILE)
340                         ADD_CUSTOM_COMMAND(TARGET blender
341                                 POST_BUILD
342                                 MAIN_DEPENDENCY blender
343                                 COMMAND copy /Y \"${LIBDIR}\\sndfile\\lib\\libsndfile-1.dll\" \"${TARGETDIR}\\\"
344                         )
345                 ENDIF(WITH_SNDFILE)
346
347                 IF(WITH_JACK)
348                         ADD_CUSTOM_COMMAND(TARGET blender
349                                 POST_BUILD
350                                 MAIN_DEPENDENCY blender
351                                 COMMAND copy /Y \"${LIBDIR}\\jack\\lib\\libjack.dll\" \"${TARGETDIR}\\\"
352                         )
353                 ENDIF(WITH_JACK)
354
355                 IF(WITH_OPENAL)
356                         ADD_CUSTOM_COMMAND(TARGET blender
357                                 POST_BUILD
358                                 MAIN_DEPENDENCY blender
359                                 COMMAND copy /Y \"${LIBDIR}\\openal\\lib\\OpenAL32.dll\" \"${TARGETDIR}\\\"
360                                 COMMAND copy /Y \"${LIBDIR}\\openal\\lib\\wrap_oal.dll\" \"${TARGETDIR}\\\"
361
362                         )
363                 ENDIF(WITH_OPENAL)
364
365
366         ENDIF(WIN32)
367 ENDIF(WITH_INSTALL)
368
369 ADD_DEPENDENCIES(blender makesdna)
370
371 FILE(READ ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
372
373 SET(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} bf_windowmanager blender_render)
374
375 IF(WITH_ELBEEM)
376         SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} bf_elbeem)
377 ENDIF(WITH_ELBEEM)
378
379 IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
380         SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} extern_binreloc)
381 ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
382
383 #IF(UNIX)
384         # Sort libraries
385         SET(BLENDER_SORTED_LIBS
386                 bf_windowmanager
387
388         bf_editor_space_api
389         bf_editor_space_action
390         bf_editor_space_buttons
391         bf_editor_space_console
392         bf_editor_space_file
393         bf_editor_space_graph
394         bf_editor_space_image
395         bf_editor_space_info
396         bf_editor_space_logic
397         bf_editor_space_nla
398         bf_editor_space_node
399         bf_editor_space_outliner
400         bf_editor_space_script
401         bf_editor_space_sequencer
402         bf_editor_space_sound
403         bf_editor_space_time
404         bf_editor_space_userpref
405         bf_editor_space_view3d
406
407         bf_editor_text
408         bf_editor_transform
409         bf_editor_util
410         bf_editor_uvedit
411         bf_editor_curve
412         bf_editor_armature
413         bf_editor_gpencil
414         bf_editor_interface
415         bf_editor_mesh
416         bf_editor_metaball
417         bf_editor_object
418         bf_editor_physics
419         bf_editor_render
420         bf_editor_screen
421         bf_editor_sculpt_paint
422         bf_editor_sound
423         bf_editor_animation
424         bf_editor_datafiles
425
426                 blender_BSP 
427                 blender_render 
428                 blender_ONL 
429                 bf_python 
430                 bf_gen_python 
431                 bf_ikplugin
432                 bf_modifiers
433                 bf_blenkernel
434                 bf_nodes
435                 bf_gpu
436                 bf_blenloader
437                 bf_blenlib
438                 bf_ghost
439                 bf_string
440                 bf_blenpluginapi 
441                 bf_imbuf 
442                 bf_avi 
443                 bf_cineon 
444                 bf_openexr 
445                 bf_dds
446                 bf_readblenfile
447                 bf_collada
448                 blender_BSP 
449                 blender_bop 
450                 bf_kernel 
451                 bf_decimation 
452                 bf_elbeem 
453                 bf_IK 
454                 bf_memutil 
455                 bf_guardedalloc 
456                 blender_CTR 
457                 bf_moto 
458                 bf_windowmanager
459                 bf_blroutines 
460                 bf_converter 
461                 bf_dummy 
462                 bf_bullet 
463                 bf_smoke
464                 bf_minilzo
465                 bf_lzma
466                 bf_common 
467                 bf_ketsji 
468                 bf_logic 
469                 bf_rasterizer 
470                 bf_oglrasterizer 
471                 bf_expressions 
472                 bf_scenegraph 
473                 bf_moto 
474                 bf_blroutines 
475                 kx_network 
476                 bf_kernel 
477                 bf_ngnetwork 
478                 extern_bullet 
479                 bf_loopbacknetwork 
480                 bf_ITASC
481                 bf_common 
482                 bf_moto 
483                 bf_python
484                 bf_gen_python
485                 extern_binreloc
486                 extern_glew
487                 extern_libopenjpeg
488                 bf_videotex
489                 bf_rna
490                 bf_dna
491                 bf_blenfont
492                 bf_audaspace
493                 bf_decimation
494
495         )
496
497         IF(WITH_CXX_GUARDEDALLOC)
498                 SET(BLENDER_SORTED_LIBS ${BLENDER_SORTED_LIBS} bf_guardedalloc_cpp)
499         ENDIF(WITH_CXX_GUARDEDALLOC)
500
501         IF(WITH_QUICKTIME)
502                 SET(BLENDER_SORTED_LIBS ${BLENDER_SORTED_LIBS} bf_quicktime)
503         ENDIF(WITH_QUICKTIME)
504
505
506         FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})
507                 SET(REMLIB ${SORTLIB})
508                 FOREACH(SEARCHLIB ${BLENDER_LINK_LIBS})
509                         IF(${SEARCHLIB} STREQUAL ${SORTLIB})
510                                 SET(REMLIB "")
511                         ENDIF(${SEARCHLIB} STREQUAL ${SORTLIB})
512                 ENDFOREACH(SEARCHLIB)
513                 IF(REMLIB)
514                         MESSAGE(STATUS "Removing library ${REMLIB} from blender linking because: not configured")
515                         LIST(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
516                 ENDIF(REMLIB)
517         ENDFOREACH(SORTLIB)
518         TARGET_LINK_LIBRARIES(blender ${BLENDER_SORTED_LIBS})
519 #ELSE(UNIX)
520 #       TARGET_LINK_LIBRARIES(blender ${BLENDER_LINK_LIBS})
521 #ENDIF(UNIX)
522
523 SETUP_LIBLINKS(blender)