1 # -*- mode: cmake; indent-tabs-mode: t; -*-
3 # ***** BEGIN GPL LICENSE BLOCK *****
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License
7 # as published by the Free Software Foundation; either version 2
8 # of the License, or (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 # The Original Code is Copyright (C) 2006, Blender Foundation
20 # All rights reserved.
22 # The Original Code is: all of this file.
24 # Contributor(s): Jacques Beaurain.
26 # ***** END GPL LICENSE BLOCK *****
31 ../../intern/guardedalloc
35 ../blender/editors/include
38 ../blender/render/extern/include
41 ../blender/windowmanager
44 if(WITH_CODEC_QUICKTIME)
45 add_definitions(-DWITH_QUICKTIME)
48 if(WITH_IMAGE_OPENEXR)
49 add_definitions(-DWITH_OPENEXR)
52 if(WITH_IMAGE_OPENJPEG)
53 add_definitions(-DWITH_OPENJPEG)
57 add_definitions(-DWITH_TIFF)
61 add_definitions(-DWITH_DDS)
65 add_definitions(-DWITH_CINEON)
69 add_definitions(-DWITH_HDR)
73 blender_include_dirs(../blender/python)
74 add_definitions(-DWITH_PYTHON)
76 if(WITH_PYTHON_SECURITY)
77 add_definitions(-DWITH_PYTHON_SECURITY)
82 add_definitions(-DWITH_HEADLESS)
86 blender_include_dirs(../gameengine/BlenderRoutines)
88 add_definitions(-DWITH_GAMEENGINE)
92 add_definitions(-DWITH_SDL)
96 add_definitions(-DWITH_BINRELOC)
97 blender_include_dirs(${BINRELOC_INCLUDE_DIRS})
100 # Setup the exe sources and buildinfo
105 # MSVC 2010 gives linking errors with the manifest
106 if(WIN32 AND NOT UNIX)
107 string(SUBSTRING ${BLENDER_VERSION} 0 1 bver1)
108 string(SUBSTRING ${BLENDER_VERSION} 2 1 bver2)
109 string(SUBSTRING ${BLENDER_VERSION} 3 1 bver3)
113 -DBLEN_VER_RC_STR_M=${BLENDER_VERSION}
114 -DBLEN_VER_RC_1=${bver1}
115 -DBLEN_VER_RC_2=${bver2}
116 -DBLEN_VER_RC_3=${bver3}
121 -DBLEN_VER_RC_STR=${BLENDER_VERSION}
122 -DBLEN_VER_RC_1=${bver1}
123 -DBLEN_VER_RC_2=${bver2}
124 -DBLEN_VER_RC_3=${bver3}
131 ../icons/winblender.rc
136 add_definitions(-DWITH_BUILDINFO)
137 # --------------------------------------------------------------------------
138 # These defines could all be moved into the header below
139 string(REPLACE " " "\ " BUILDINFO_CFLAGS "${CMAKE_C_FLAGS}")
140 string(REPLACE " " "\ " BUILDINFO_CXXFLAGS "${CMAKE_CXX_FLAGS}")
141 string(REPLACE " " "\ " BUILDINFO_LINKFLAGS "${PLATFORM_LINKFLAGS}")
143 # # define in header now, else these get out of date on rebuilds.
144 # -DBUILD_DATE="${BUILD_DATE}"
145 # -DBUILD_TIME="${BUILD_TIME}"
146 # -DBUILD_REV="${BUILD_REV}"
147 -DWITH_BUILDINFO_HEADER # alternative to lines above
148 -DBUILD_PLATFORM="${CMAKE_SYSTEM_NAME}"
149 -DBUILD_TYPE="${CMAKE_BUILD_TYPE}"
150 -DBUILD_CFLAGS="${BUILDINFO_CFLAGS}"
151 -DBUILD_CXXFLAGS="${BUILDINFO_CXXFLAGS}"
152 -DBUILD_LINKFLAGS="${BUILDINFO_LINKFLAGS}"
153 -DBUILD_SYSTEM="CMake"
156 # --------------------------------------------------------------------------
157 # write header for values that change each build
158 # note, generaed file is in build dir's source/creator
159 # except when used as an include path.
161 # include the output directory, where the buildinfo.h file is generated
162 include_directories(${CMAKE_BINARY_DIR}/source/creator)
164 # a custom target that is always built
165 add_custom_target(buildinfo ALL
166 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/buildinfo.h)
168 # creates svnheader.h using cmake script
169 add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/buildinfo.h
170 COMMAND ${CMAKE_COMMAND}
171 -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
172 -P ${CMAKE_SOURCE_DIR}/build_files/cmake/buildinfo.cmake)
174 # buildinfo.h is a generated file
175 set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/buildinfo.h
176 PROPERTIES GENERATED TRUE
177 HEADER_FILE_ONLY TRUE)
179 # add deps below, after adding blender
180 # -------------- done with header values.
187 # message(STATUS "Configuring blender")
188 if(WITH_PYTHON_MODULE)
189 add_definitions(-DWITH_PYTHON_MODULE)
191 # creates ./bin/bpy.so which can be imported as a python module.
192 add_library(blender SHARED ${SRC})
193 set_target_properties(
198 LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
199 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin # only needed on windows
203 # python modules use this
204 set_target_properties(
212 add_executable(blender ${EXETYPE} ${SRC})
216 # explicitly say that the executable depends on the buildinfo
217 add_dependencies(blender buildinfo)
220 # Post build steps for bundling/packaging.
224 # ${CMAKE_CFG_INTDIR} should replace \${BUILD_TYPE} when using add_command
225 set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE})
227 set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE})
229 set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH})
233 # -----------------------------------------------------------------------------
236 set(BLENDER_TEXT_FILES
237 ${CMAKE_SOURCE_DIR}/release/text/GPL-license.txt
238 ${CMAKE_SOURCE_DIR}/release/text/Python-license.txt
239 ${CMAKE_SOURCE_DIR}/release/text/copyright.txt
240 ${CMAKE_SOURCE_DIR}/release/text/readme.html
243 if(UNIX AND NOT APPLE)
245 if(WITH_INSTALL_PORTABLE)
246 set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION})
248 if(WITH_PYTHON_MODULE)
249 set(TARGETDIR_VER ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages/${BLENDER_VERSION})
251 set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION})
255 # important to make a clean install each time
256 # else old scripts get loaded.
259 "file(REMOVE_RECURSE ${TARGETDIR_VER})"
262 # message after building.
264 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
265 COMMAND ${CMAKE_COMMAND} -E echo 'now run: \"make install\" to copy runtime files & scripts to ${TARGETDIR_VER}'
268 # there are a few differences between portable and system install
269 if(WITH_INSTALL_PORTABLE)
272 ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
273 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
274 ${CMAKE_SOURCE_DIR}/doc/manpage/blender.1
275 DESTINATION ${TARGETDIR}
280 ${CMAKE_SOURCE_DIR}/release/bin/blender-thumbnailer.py
281 DESTINATION ${TARGETDIR}
285 FILES ${BLENDER_TEXT_FILES}
286 DESTINATION ${TARGETDIR}
290 # main blender binary
291 if(WITH_PYTHON_MODULE)
295 DESTINATION ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages
299 PROGRAMS ${TARGETDIR}/blender
300 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
305 if(WITH_GAMEENGINE AND WITH_PLAYER)
307 PROGRAMS ${TARGETDIR}/blenderplayer
308 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
314 FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
315 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications
319 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/16x16
320 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/22x22
321 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/24x24
322 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/32x32
323 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/48x48
324 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/256x256
325 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor
326 PATTERN ".svn" EXCLUDE
327 PATTERN "*.svg" EXCLUDE
330 FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
331 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps
334 PROGRAMS ${CMAKE_SOURCE_DIR}/release/bin/blender-thumbnailer.py
335 DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
338 FILES ${CMAKE_SOURCE_DIR}/doc/manpage/blender.1
339 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1
342 FILES ${BLENDER_TEXT_FILES}
343 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/blender
347 if(WITH_INTERNATIONAL)
350 ${CMAKE_SOURCE_DIR}/release/datafiles/locale
351 ${CMAKE_SOURCE_DIR}/release/datafiles/fonts
352 DESTINATION ${TARGETDIR_VER}/datafiles
353 PATTERN ".svn" EXCLUDE
357 # plugins in blender 2.5 don't work at the moment.
360 # DIRECTORY ${CMAKE_SOURCE_DIR}/release/plugins
361 # DESTINATION ${TARGETDIR_VER}
362 # PATTERN ".svn" EXCLUDE
366 # install(CODE "message(\"copying blender scripts...\")")
368 DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
369 DESTINATION ${TARGETDIR_VER}
370 PATTERN ".svn" EXCLUDE
371 PATTERN "__pycache__" EXCLUDE
374 if(WITH_PYTHON_INSTALL)
375 # Copy the systems python into the install directory
376 # Scons copy in tools/Blender.py
377 # install(CODE "message(\"copying a subset of the systems python...\")")
379 DIRECTORY ${PYTHON_LIBPATH}/python${PYTHON_VERSION}
380 DESTINATION ${TARGETDIR_VER}/python/lib
381 PATTERN ".svn" EXCLUDE
382 PATTERN "__pycache__" EXCLUDE # * any cache *
383 PATTERN "distutils" EXCLUDE # ./distutils
384 PATTERN "lib2to3" EXCLUDE # ./lib2to3
385 PATTERN "config" EXCLUDE # ./config
386 PATTERN "config-*" EXCLUDE # ./config-*
387 PATTERN "site-packages/*" EXCLUDE # ./site-packages/*
388 PATTERN "tkinter" EXCLUDE # ./tkinter
389 PATTERN "lib-dynload/_tkinter.*" EXCLUDE # ./lib-dynload/_tkinter.co
390 PATTERN "idlelib" EXCLUDE # ./idlelib
391 PATTERN "test" EXCLUDE # ./test
392 PATTERN "turtledemo" EXCLUDE # ./turtledemo
393 PATTERN "turtle.py" EXCLUDE # ./turtle.py
396 # # doesnt work, todo
397 # install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
402 set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION})
404 install( # same as linux!, deduplicate
406 "file(REMOVE_RECURSE ${TARGETDIR_VER})"
409 install( # same as linux!, deduplicate
410 FILES ${BLENDER_TEXT_FILES}
411 DESTINATION ${TARGETDIR}
414 if(WITH_INTERNATIONAL) # same as linux!, deduplicate
417 ${CMAKE_SOURCE_DIR}/release/datafiles/locale
418 ${CMAKE_SOURCE_DIR}/release/datafiles/fonts
419 DESTINATION ${TARGETDIR_VER}/datafiles
420 PATTERN ".svn" EXCLUDE
424 FILES ${LIBDIR}/gettext/lib/gnu_gettext.dll
425 DESTINATION ${TARGETDIR}
430 FILES ${LIBDIR}/iconv/lib/iconv.dll
431 DESTINATION ${TARGETDIR}
436 # plugins in blender 2.5 don't work at the moment.
439 # DIRECTORY ${CMAKE_SOURCE_DIR}/release/plugins
440 # DESTINATION ${TARGETDIR_VER}
441 # PATTERN ".svn" EXCLUDE
445 # install(CODE "message(\"copying blender scripts...\")")
446 install( # same as linux!, deduplicate
447 DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
448 DESTINATION ${TARGETDIR_VER}
449 PATTERN ".svn" EXCLUDE
450 PATTERN "__pycache__" EXCLUDE
454 FILES ${LIBDIR}/python/lib/python32.dll
455 DESTINATION ${TARGETDIR}
456 CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
460 FILES ${LIBDIR}/python/lib/python32_d.dll
461 DESTINATION ${TARGETDIR}
465 if(WITH_PYTHON_INSTALL)
466 # note, as far as python is concerned 'RelWithDebInfo' is not debug since its without debug flags.
468 # create the directory in multiple steps, so it actually gets created when it doesn't exist yet
472 message(\"creating ${TARGETDIR_VER}/python/lib\")
473 file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python\")
474 file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python/lib\")
475 message(\"done creating dir\")
482 if(\"\${CMAKE_INSTALL_CONFIG_NAME}\" STREQUAL \"Debug\")
483 execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
484 \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32_d.tar.gz\")
486 execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
487 \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32.tar.gz\")
493 # install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
498 # gettext and png are statically linked on win64
500 FILES ${LIBDIR}/zlib/lib/zlib.dll
501 DESTINATION ${TARGETDIR}
506 ${LIBDIR}/png/lib/libpng.dll
507 ${LIBDIR}/zlib/lib/zlib.dll
508 DESTINATION ${TARGETDIR}
514 FILES ${LIBDIR}/pthreads/lib/pthreadVC2.dll
515 DESTINATION ${TARGETDIR}
519 FILES ${LIBDIR}/pthreads/lib/pthreadGC2.dll
520 DESTINATION ${TARGETDIR}
524 if(WITH_CODEC_FFMPEG)
527 ${LIBDIR}/ffmpeg/lib/avcodec-53.dll
528 ${LIBDIR}/ffmpeg/lib/avformat-53.dll
529 ${LIBDIR}/ffmpeg/lib/avdevice-53.dll
530 ${LIBDIR}/ffmpeg/lib/avutil-51.dll
531 ${LIBDIR}/ffmpeg/lib/swscale-2.dll
532 DESTINATION ${TARGETDIR}
537 if(WITH_CODEC_SNDFILE)
539 FILES ${LIBDIR}/sndfile/lib/libsndfile-1.dll
540 DESTINATION ${TARGETDIR}
547 ${LIBDIR}/openal/lib/OpenAL32.dll
548 ${LIBDIR}/openal/lib/wrap_oal.dll
549 DESTINATION ${TARGETDIR}
556 FILES ${LIBDIR}/sdl/lib/SDL.dll
557 DESTINATION ${TARGETDIR}
564 FILES ${LIBDIR}/thumbhandler/lib/BlendThumb.dll
565 DESTINATION ${TARGETDIR}
569 install( # x86 builds can run on x64 Windows, so this is required at all times
570 FILES ${LIBDIR}/thumbhandler/lib/BlendThumb64.dll
571 DESTINATION ${TARGETDIR}
577 ${LIBDIR}/openimageio/bin/OpenImageIO.dll
578 DESTINATION ${TARGETDIR}
583 set(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app)
584 set(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist)
585 set(TARGETDIR_VER ${TARGETDIR}/blender.app/Contents/MacOS/${BLENDER_VERSION})
588 execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BLENDER_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
590 set_target_properties(blender PROPERTIES
591 MACOSX_BUNDLE_INFO_PLIST ${SOURCEINFO}
592 MACOSX_BUNDLE_SHORT_VERSION_STRING ${BLENDER_VERSION}
593 MACOSX_BUNDLE_LONG_VERSION_STRING "${BLENDER_VERSION} ${BLENDER_DATE}")
595 # important to make a clean install each time else old scripts get loaded.
598 "file(REMOVE_RECURSE ${TARGETDIR_VER})"
601 # message after building.
603 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
604 COMMAND ${CMAKE_COMMAND} -E echo 'now run: \"make install\" to copy runtime files & scripts to ${TARGETDIR_VER}'
607 # handy install macro to exclude files, we use \$ escape for the "to"
608 # argument when calling so ${BUILD_TYPE} does not get expanded
609 macro(install_dir from to)
613 PATTERN ".svn" EXCLUDE
614 PATTERN "*.pyc" EXCLUDE
615 PATTERN "*.pyo" EXCLUDE
616 PATTERN "*.orig" EXCLUDE
617 PATTERN "*.rej" EXCLUDE
618 PATTERN "__pycache__" EXCLUDE
619 PATTERN "__MACOSX" EXCLUDE
620 PATTERN ".DS_Store" EXCLUDE
624 # install release and app files
626 FILES ${BLENDER_TEXT_FILES}
627 DESTINATION ${TARGETDIR}
631 FILES ${SOURCEDIR}/Contents/PkgInfo
632 DESTINATION ${TARGETDIR}/blender.app/Contents
636 ${SOURCEDIR}/Contents/Resources
637 \${TARGETDIR}/blender.app/Contents/
641 if(WITH_INTERNATIONAL)
644 ${CMAKE_SOURCE_DIR}/release/datafiles/locale
645 ${CMAKE_SOURCE_DIR}/release/datafiles/fonts
646 DESTINATION ${TARGETDIR_VER}/datafiles
647 PATTERN ".svn" EXCLUDE
653 # the python zip is first extract as part of the build process,
654 # and then later installed as part of make install. this is much
655 # quicker, and means we can easily exclude files on copy
658 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/python)
660 set(PYTHON_ZIP "python_${CMAKE_OSX_ARCHITECTURES}.zip")
663 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/python
664 COMMAND rm -rf ${CMAKE_CURRENT_BINARY_DIR}/python/
665 COMMAND mkdir ${CMAKE_CURRENT_BINARY_DIR}/python/
666 COMMAND unzip -q ${LIBDIR}/release/${PYTHON_ZIP} -d ${CMAKE_CURRENT_BINARY_DIR}/python/
667 DEPENDS ${LIBDIR}/release/${PYTHON_ZIP})
669 add_dependencies(blender extractpyzip)
671 # copy extracted python files
673 ${CMAKE_CURRENT_BINARY_DIR}/python
679 ${CMAKE_SOURCE_DIR}/release/scripts
684 # install blenderplayer bundle - copy of blender.app above. re-using macros et al
685 # note we are using OSX Bundle as base and copying Blender dummy bundle on top of it
686 if(WITH_GAMEENGINE AND WITH_PLAYER)
687 set(PLAYER_SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blenderplayer.app)
688 set(PLAYER_SOURCEINFO ${PLAYER_SOURCEDIR}/Contents/Info.plist)
689 set(PLAYER_TARGETDIR_VER ${TARGETDIR}/blenderplayer.app/Contents/MacOS/${BLENDER_VERSION})
692 # important to make a clean install each time else old scripts get loaded.
695 "file(REMOVE_RECURSE ${PLAYER_TARGETDIR_VER})"
699 FILES ${PLAYER_SOURCEDIR}/Contents/PkgInfo
700 DESTINATION ${TARGETDIR}/blenderplayer.app/Contents
704 ${PLAYER_SOURCEDIR}/Contents/Resources
705 \${TARGETDIR}/blenderplayer.app/Contents/
711 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/python
712 COMMAND rm -rf ${CMAKE_CURRENT_BINARY_DIR}/python/
713 COMMAND mkdir ${CMAKE_CURRENT_BINARY_DIR}/python/
714 COMMAND unzip -q ${LIBDIR}/release/${PYTHON_ZIP} -d ${CMAKE_CURRENT_BINARY_DIR}/python/
715 DEPENDS ${LIBDIR}/release/${PYTHON_ZIP})
717 # copy extracted python files
719 ${CMAKE_CURRENT_BINARY_DIR}/python
720 \${PLAYER_TARGETDIR_VER}
727 # install more files XXX pass target dir
728 delayed_do_install(${TARGETDIR_VER})
730 unset(BLENDER_TEXT_FILES)
733 # -----------------------------------------------------------------------------
736 add_dependencies(blender makesdna)
738 get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
740 set(BLENDER_LINK_LIBS
747 list(APPEND BLENDER_LINK_LIBS bf_intern_elbeem)
751 list(APPEND BLENDER_LINK_LIBS
762 set(BLENDER_SORTED_LIBS
766 bf_editor_space_action
767 bf_editor_space_buttons
768 bf_editor_space_console
770 bf_editor_space_graph
771 bf_editor_space_image
773 bf_editor_space_logic
776 bf_editor_space_outliner
777 bf_editor_space_script
778 bf_editor_space_sequencer
779 bf_editor_space_sound
781 bf_editor_space_userpref
782 bf_editor_space_view3d
798 bf_editor_sculpt_paint
830 bf_intern_guardedalloc
840 extern_recastnavigation
850 ge_logic_loopbacknetwork
860 extern_recastnavigation
861 bf_editor_util # --- BAD LEVEL CALL HERE --- XXX, this should be removed before release!
871 if(WITH_MOD_CLOTH_ELTOPO)
872 list(APPEND BLENDER_SORTED_LIBS extern_eltopo)
875 if(WITH_BUILTIN_GLEW)
876 list(APPEND BLENDER_SORTED_LIBS extern_glew)
880 list(APPEND BLENDER_SORTED_LIBS extern_binreloc)
883 if(WITH_CXX_GUARDEDALLOC)
884 list(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp)
888 list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc)
891 if(WITH_CODEC_QUICKTIME)
892 list(APPEND BLENDER_SORTED_LIBS bf_quicktime)
895 foreach(SORTLIB ${BLENDER_SORTED_LIBS})
896 set(REMLIB ${SORTLIB})
897 foreach(SEARCHLIB ${BLENDER_LINK_LIBS})
898 if(${SEARCHLIB} STREQUAL ${SORTLIB})
903 # message(STATUS "Removing library ${REMLIB} from blender linking because: not configured")
904 list(APPEND REM_MSG ${REMLIB})
905 list(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
910 message(STATUS "Blender Skipping: (${REM_MSG})")
912 target_link_libraries(blender ${BLENDER_SORTED_LIBS})
920 # target_link_libraries(blender ${BLENDER_LINK_LIBS})
923 setup_liblinks(blender)