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(-DDISABLE_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
348 FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
349 DESTINATION ${TARGETDIR_VER}
352 if(WITH_INTERNATIONAL)
354 FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
355 DESTINATION ${TARGETDIR_VER}
359 DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
360 DESTINATION ${TARGETDIR_VER}/datafiles
361 PATTERN ".svn" EXCLUDE
365 # plugins in blender 2.5 don't work at the moment.
368 # DIRECTORY ${CMAKE_SOURCE_DIR}/release/plugins
369 # DESTINATION ${TARGETDIR_VER}
370 # PATTERN ".svn" EXCLUDE
374 # install(CODE "message(\"copying blender scripts...\")")
376 DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
377 DESTINATION ${TARGETDIR_VER}
378 PATTERN ".svn" EXCLUDE
379 PATTERN "__pycache__" EXCLUDE
382 if(WITH_PYTHON_INSTALL)
383 # Copy the systems python into the install directory
384 # Scons copy in tools/Blender.py
385 # install(CODE "message(\"copying a subset of the systems python...\")")
387 DIRECTORY ${PYTHON_LIBPATH}/python${PYTHON_VERSION}
388 DESTINATION ${TARGETDIR_VER}/python/lib
389 PATTERN ".svn" EXCLUDE
390 PATTERN "__pycache__" EXCLUDE # * any cache *
391 PATTERN "distutils" EXCLUDE # ./distutils
392 PATTERN "lib2to3" EXCLUDE # ./lib2to3
393 PATTERN "config" EXCLUDE # ./config
394 PATTERN "config-*" EXCLUDE # ./config-*
395 PATTERN "site-packages/*" EXCLUDE # ./site-packages/*
396 PATTERN "tkinter" EXCLUDE # ./tkinter
397 PATTERN "lib-dynload/_tkinter.*" EXCLUDE # ./lib-dynload/_tkinter.co
398 PATTERN "idlelib" EXCLUDE # ./idlelib
399 PATTERN "test" EXCLUDE # ./test
400 PATTERN "turtledemo" EXCLUDE # ./turtledemo
401 PATTERN "turtle.py" EXCLUDE # ./turtle.py
404 # # doesnt work, todo
405 # install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
410 set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION})
412 install( # same as linux!, deduplicate
414 "file(REMOVE_RECURSE ${TARGETDIR_VER})"
417 install( # same as linux!, deduplicate
418 FILES ${BLENDER_TEXT_FILES}
419 DESTINATION ${TARGETDIR}
422 install( # same as linux!, deduplicate
423 FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
424 DESTINATION ${TARGETDIR_VER}
427 if(WITH_INTERNATIONAL) # same as linux!, deduplicate
429 FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
430 DESTINATION ${TARGETDIR_VER}
433 DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
434 DESTINATION ${TARGETDIR_VER}/datafiles
435 PATTERN ".svn" EXCLUDE
439 FILES ${LIBDIR}/gettext/lib/gnu_gettext.dll
440 DESTINATION ${TARGETDIR}
445 FILES ${LIBDIR}/iconv/lib/iconv.dll
446 DESTINATION ${TARGETDIR}
451 install( # same as linux!, deduplicate
452 DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
453 DESTINATION ${TARGETDIR_VER}/datafiles/locale
454 PATTERN ".svn" EXCLUDE
457 # plugins in blender 2.5 don't work at the moment.
460 # DIRECTORY ${CMAKE_SOURCE_DIR}/release/plugins
461 # DESTINATION ${TARGETDIR_VER}
462 # PATTERN ".svn" EXCLUDE
466 # install(CODE "message(\"copying blender scripts...\")")
467 install( # same as linux!, deduplicate
468 DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
469 DESTINATION ${TARGETDIR_VER}
470 PATTERN ".svn" EXCLUDE
471 PATTERN "__pycache__" EXCLUDE
475 FILES ${LIBDIR}/python/lib/python32.dll
476 DESTINATION ${TARGETDIR}
477 CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
481 FILES ${LIBDIR}/python/lib/python32_d.dll
482 DESTINATION ${TARGETDIR}
486 if(WITH_PYTHON_INSTALL)
487 # note, as far as python is concerned 'RelWithDebInfo' is not debug since its without debug flags.
489 # create the directory in multiple steps, so it actually gets created when it doesn't exist yet
493 message(\"creating ${TARGETDIR_VER}/python/lib\")
494 file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python\")
495 file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python/lib\")
496 message(\"done creating dir\")
503 if(\"\${CMAKE_INSTALL_CONFIG_NAME}\" STREQUAL \"Debug\")
504 execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
505 \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32_d.tar.gz\")
507 execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
508 \"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python32.tar.gz\")
514 # install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
519 # gettext and png are statically linked on win64
521 FILES ${LIBDIR}/zlib/lib/zlib.dll
522 DESTINATION ${TARGETDIR}
527 ${LIBDIR}/png/lib/libpng.dll
528 ${LIBDIR}/zlib/lib/zlib.dll
529 DESTINATION ${TARGETDIR}
535 FILES ${LIBDIR}/pthreads/lib/pthreadVC2.dll
536 DESTINATION ${TARGETDIR}
540 FILES ${LIBDIR}/pthreads/lib/pthreadGC2.dll
541 DESTINATION ${TARGETDIR}
545 if(WITH_CODEC_FFMPEG)
548 ${LIBDIR}/ffmpeg/lib/avcodec-53.dll
549 ${LIBDIR}/ffmpeg/lib/avformat-53.dll
550 ${LIBDIR}/ffmpeg/lib/avdevice-53.dll
551 ${LIBDIR}/ffmpeg/lib/avutil-51.dll
552 ${LIBDIR}/ffmpeg/lib/swscale-2.dll
553 DESTINATION ${TARGETDIR}
558 if(WITH_CODEC_SNDFILE)
560 FILES ${LIBDIR}/sndfile/lib/libsndfile-1.dll
561 DESTINATION ${TARGETDIR}
568 ${LIBDIR}/openal/lib/OpenAL32.dll
569 ${LIBDIR}/openal/lib/wrap_oal.dll
570 DESTINATION ${TARGETDIR}
577 FILES ${LIBDIR}/sdl/lib/SDL.dll
578 DESTINATION ${TARGETDIR}
585 FILES ${LIBDIR}/thumbhandler/lib/BlendThumb.dll
586 DESTINATION ${TARGETDIR}
590 FILES ${LIBDIR}/thumbhandler/lib/BlendThumb64.dll
591 DESTINATION ${TARGETDIR}
596 set(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app)
597 set(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist)
598 set(TARGETDIR_VER ${TARGETDIR}/blender.app/Contents/MacOS/${BLENDER_VERSION})
601 execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BLENDER_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
603 set_target_properties(blender PROPERTIES
604 MACOSX_BUNDLE_INFO_PLIST ${SOURCEINFO}
605 MACOSX_BUNDLE_SHORT_VERSION_STRING ${BLENDER_VERSION}
606 MACOSX_BUNDLE_LONG_VERSION_STRING "${BLENDER_VERSION} ${BLENDER_DATE}")
608 # important to make a clean install each time else old scripts get loaded.
611 "file(REMOVE_RECURSE ${TARGETDIR_VER})"
614 # message after building.
616 TARGET blender POST_BUILD MAIN_DEPENDENCY blender
617 COMMAND ${CMAKE_COMMAND} -E echo 'now run: \"make install\" to copy runtime files & scripts to ${TARGETDIR_VER}'
620 # handy install macro to exclude files, we use \$ escape for the "to"
621 # argument when calling so ${BUILD_TYPE} does not get expanded
622 macro(install_dir from to)
626 PATTERN ".svn" EXCLUDE
627 PATTERN "*.pyc" EXCLUDE
628 PATTERN "*.pyo" EXCLUDE
629 PATTERN "*.orig" EXCLUDE
630 PATTERN "*.rej" EXCLUDE
631 PATTERN "__pycache__" EXCLUDE
632 PATTERN "__MACOSX" EXCLUDE
633 PATTERN ".DS_Store" EXCLUDE
637 # install release and app files
639 FILES ${BLENDER_TEXT_FILES}
640 DESTINATION ${TARGETDIR}
644 FILES ${SOURCEDIR}/Contents/PkgInfo
645 DESTINATION ${TARGETDIR}/blender.app/Contents
649 ${SOURCEDIR}/Contents/Resources
650 \${TARGETDIR}/blender.app/Contents/
654 FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
655 DESTINATION ${TARGETDIR_VER}
659 if(WITH_INTERNATIONAL)
661 FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
662 DESTINATION ${TARGETDIR_VER}/datafiles
666 ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale/
667 \${TARGETDIR_VER}/datafiles/locale
673 # the python zip is first extract as part of the build process,
674 # and then later installed as part of make install. this is much
675 # quicker, and means we can easily exclude files on copy
678 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/python)
680 set(PYTHON_ZIP "python_${CMAKE_OSX_ARCHITECTURES}.zip")
683 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/python
684 COMMAND rm -rf ${CMAKE_CURRENT_BINARY_DIR}/python/
685 COMMAND mkdir ${CMAKE_CURRENT_BINARY_DIR}/python/
686 COMMAND unzip -q ${LIBDIR}/release/${PYTHON_ZIP} -d ${CMAKE_CURRENT_BINARY_DIR}/python/
687 DEPENDS ${LIBDIR}/release/${PYTHON_ZIP})
689 add_dependencies(blender extractpyzip)
691 # copy extracted python files
693 ${CMAKE_CURRENT_BINARY_DIR}/python
699 ${CMAKE_SOURCE_DIR}/release/scripts
705 unset(BLENDER_TEXT_FILES)
708 # -----------------------------------------------------------------------------
711 add_dependencies(blender makesdna)
713 get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
715 set(BLENDER_LINK_LIBS
722 list(APPEND BLENDER_LINK_LIBS bf_intern_elbeem)
727 set(BLENDER_SORTED_LIBS
731 bf_editor_space_action
732 bf_editor_space_buttons
733 bf_editor_space_console
735 bf_editor_space_graph
736 bf_editor_space_image
738 bf_editor_space_logic
741 bf_editor_space_outliner
742 bf_editor_space_script
743 bf_editor_space_sequencer
744 bf_editor_space_sound
746 bf_editor_space_userpref
747 bf_editor_space_view3d
763 bf_editor_sculpt_paint
795 bf_intern_guardedalloc
805 extern_recastnavigation
815 ge_logic_loopbacknetwork
827 if(WITH_MOD_CLOTH_ELTOPO)
828 list(APPEND BLENDER_SORTED_LIBS extern_eltopo)
831 if(WITH_BUILTIN_GLEW)
832 list(APPEND BLENDER_SORTED_LIBS extern_glew)
836 list(APPEND BLENDER_SORTED_LIBS extern_binreloc)
839 if(WITH_CXX_GUARDEDALLOC)
840 list(APPEND BLENDER_SORTED_LIBS bf_intern_guardedalloc_cpp)
844 list(APPEND BLENDER_SORTED_LIBS bf_intern_itasc)
847 if(WITH_CODEC_QUICKTIME)
848 list(APPEND BLENDER_SORTED_LIBS bf_quicktime)
851 foreach(SORTLIB ${BLENDER_SORTED_LIBS})
852 set(REMLIB ${SORTLIB})
853 foreach(SEARCHLIB ${BLENDER_LINK_LIBS})
854 if(${SEARCHLIB} STREQUAL ${SORTLIB})
859 # message(STATUS "Removing library ${REMLIB} from blender linking because: not configured")
860 list(APPEND REM_MSG ${REMLIB})
861 list(REMOVE_ITEM BLENDER_SORTED_LIBS ${REMLIB})
866 message(STATUS "Blender Skipping: (${REM_MSG})")
868 target_link_libraries(blender ${BLENDER_SORTED_LIBS})
876 # target_link_libraries(blender ${BLENDER_LINK_LIBS})
879 setup_liblinks(blender)