Undo revision 23130 which was a merge with 2.5, a messy one because I did something...
[blender.git] / source / creator / CMakeLists.txt
index efeff57..a9368e0 100644 (file)
@@ -29,15 +29,18 @@ SETUP_LIBDIRS()
 INCLUDE_DIRECTORIES(../../intern/guardedalloc
   ../blender/blenlib
   ../blender/blenkernel
+  ../blender/editors/include
+  ../blender/makesrna
+  ../blender/makesrna/intern
   ../blender/nodes
   ../blender/include
   ../blender/blenloader
   ../blender/imbuf
   ../blender/renderconverter
   ../blender/render/extern/include
-  ../blender/python
   ../blender/makesdna
   ../blender/gpu
+  ../blender/windowmanager
   ../kernel/gen_messaging
   ../kernel/gen_system
   ../../extern/glew/include
@@ -53,23 +56,27 @@ IF(WITH_OPENEXR)
   ADD_DEFINITIONS(-DWITH_OPENEXR)
 ENDIF(WITH_OPENEXR)
 
-IF(LINUX)
+IF(WITH_PYTHON)
+  INCLUDE_DIRECTORIES(../blender/python)
+ELSE(WITH_PYTHON)
+  ADD_DEFINITIONS(-DDISABLE_PYTHON)
+ENDIF(WITH_PYTHON)
+
+IF(NOT WITH_SDL)
+  ADD_DEFINITIONS(-DDISABLE_SDL)
+ENDIF(NOT WITH_SDL)
+
+IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
   ADD_DEFINITIONS(-DWITH_BINRELOC)
   INCLUDE_DIRECTORIES(${BINRELOC_INC})
-endif(LINUX)
+ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 
 MESSAGE(STATUS "Configuring blender")
 
-ADD_CUSTOM_COMMAND(
-  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c
-  COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/
-  DEPENDS ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna
-)
-
 IF(WIN32)
-  ADD_EXECUTABLE(blender ${EXETYPE} creator.c ${CMAKE_CURRENT_BINARY_DIR}/dna.c ../icons/winblender.rc)
+  ADD_EXECUTABLE(blender ${EXETYPE} creator.c ../icons/winblender.rc)
 ELSE(WIN32)
-  ADD_EXECUTABLE(blender ${EXETYPE} creator.c ${CMAKE_CURRENT_BINARY_DIR}/dna.c)
+  ADD_EXECUTABLE(blender ${EXETYPE} creator.c)
 ENDIF(WIN32)
 
 
@@ -77,120 +84,191 @@ ENDIF(WIN32)
 
 SET(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
 
+IF(WITH_INSTALL)
 
-IF(UNIX)
-  ADD_CUSTOM_COMMAND(TARGET blender
-    POST_BUILD
-    MAIN_DEPENDENCY blender
-    #COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/plugins ${TARGETDIR}/
-    #COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/text/* ${TARGETDIR}/
-  )
-ENDIF(UNIX)
+  IF(UNIX)
+    ADD_CUSTOM_COMMAND(TARGET blender
+      POST_BUILD
+      MAIN_DEPENDENCY blender
+      #COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/plugins ${TARGETDIR}/
+      #COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/text/* ${TARGETDIR}/
+    )
+  ENDIF(UNIX)
 
-IF(UNIX AND NOT APPLE)
-  ADD_CUSTOM_COMMAND(TARGET blender
-    POST_BUILD
-    MAIN_DEPENDENCY blender
-    COMMAND rm -Rf ${TARGETDIR}/.blender
-    COMMAND mkdir ${TARGETDIR}/.blender/
-    COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.bfont.ttf ${TARGETDIR}/.blender/
-    COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/.blender/
-    COMMAND cp -R ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/.blender/
-    COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/scripts ${TARGETDIR}/.blender/
-    COMMAND find ${TARGETDIR} -name CVS -prune -exec rm -rf {} "\;"
-  )
-ENDIF(UNIX AND NOT APPLE)
-
-IF(APPLE)
-  SET(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app)
-  SET(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist)
-  SET(TARGETINFO ${TARGETDIR}/blender.app/Contents/Info.plist)
-
-  ADD_CUSTOM_COMMAND(TARGET blender
-    POST_BUILD
-    MAIN_DEPENDENCY blender
-    COMMAND cp -R ${SOURCEINFO} ${TARGETDIR}/blender.app/Contents/
-    COMMAND cp -R ${SOURCEDIR}/Contents/PkgInfo ${TARGETDIR}/blender.app/Contents/
-    COMMAND cp -R ${SOURCEDIR}/Contents/Resources ${TARGETDIR}/blender.app/Contents/
-    COMMAND cat ${SOURCEINFO} | sed s/VERSION/`cat ${CMAKE_SOURCE_DIR}/release/VERSION`/ | sed s/DATE/`date +'%Y-%b-%d'`/ > ${TARGETINFO}
-    COMMAND rm -Rf ${TARGETDIR}/blender.app/Contents/MacOS/.blender
-    COMMAND mkdir ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
-    COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.bfont.ttf ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
-    COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
-    COMMAND cp -R ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/blender.app/Contents/Resources/
-    COMMAND cp -R ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
-    COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/blender.app/Contents/Resources/
-    COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/scripts ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
-    COMMAND find ${TARGETDIR}/blender.app -name CVS -prune -exec rm -rf {} "\;"
-    COMMAND find ${TARGETDIR}/blender.app -name CVS.sandboxinfo -prune -exec rm -rf {} "\;"
-    COMMAND find ${TARGETDIR}/blender.app -name .DS_Store -prune -exec rm -rf {} "\;"
-  )
-ENDIF(APPLE)
+  IF(UNIX AND NOT APPLE)
+    ADD_CUSTOM_COMMAND(
+      TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+      COMMAND rm -Rf ${TARGETDIR}/.blender
+      COMMAND mkdir ${TARGETDIR}/.blender/
+      COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.bfont.ttf ${TARGETDIR}/.blender/
+    )
+    
+    IF(WITH_INTERNATIONAL)
+      ADD_CUSTOM_COMMAND(
+        TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+        COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/.blender/
+        COMMAND cp -R ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/.blender/
+      )
+    ENDIF(WITH_INTERNATIONAL)
+    
+    IF(WITH_PYTHON)
+      ADD_CUSTOM_COMMAND(
+        TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+        COMMENT "copying blender scripts..."
+        COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/ui ${TARGETDIR}/.blender/
+        COMMAND cp -R ${CMAKE_SOURCE_DIR}/release/io ${TARGETDIR}/.blender/
+        COMMAND find ${TARGETDIR} -name "*.py?" -prune -exec rm -rf {} "\;"
+      )
+      
+      # Copy the systems python into the install directory
+      # Scons copy in tools/Blender.py
+      ADD_CUSTOM_COMMAND(
+        TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+        COMMENT "copying a subset of the systems python..."
+        
+        COMMAND mkdir ${TARGETDIR}/.blender/python # PYTHONPATH and PYTHONHOME is set here
+        COMMAND mkdir ${TARGETDIR}/.blender/python/lib/
+        COMMAND cp -R ${PYTHON_LIBPATH}/python${PYTHON_VERSION} ${TARGETDIR}/.blender/python/lib/
+        
+        COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/distutils
+        COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/lib2to3
+        COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/idlelib
+        COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/tkinter
+        COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/config
+        
+        COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/site-packages
+        COMMAND mkdir ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/site-packages    # python needs it.
 
-IF(WIN32)
-  FILE(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} WIN_SOURCE_DIR)
-  
-  ADD_CUSTOM_COMMAND(TARGET blender
-    POST_BUILD
-    MAIN_DEPENDENCY blender
-    COMMAND if not exist \"${TARGETDIR}\\.blender\" mkdir \"${TARGETDIR}\\.blender\"
-    COMMAND if not exist \"${TARGETDIR}\\.blender\\locale\" mkdir \"${TARGETDIR}\\.blender\\locale\"
-    COMMAND if not exist \"${TARGETDIR}\\.blender\\scripts\" mkdir \"${TARGETDIR}\\.blender\\scripts\"
-    COMMAND if not exist \"${TARGETDIR}\\plugins\" mkdir \"${TARGETDIR}\\plugins\"
-    COMMAND copy /Y \"${WIN_SOURCE_DIR}\\bin\\.blender\\.Blanguages\" \"${TARGETDIR}\\.blender\\\" 
-    COMMAND copy /Y \"${WIN_SOURCE_DIR}\\bin\\.blender\\.bfont.ttf\" \"${TARGETDIR}\\.blender\\\"
-    COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\bin\\.blender\\locale\\*.*\" \"${TARGETDIR}\\.blender\\locale\"
-    COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\scripts\\*.*\" \"${TARGETDIR}\\.blender\\scripts\"
-    COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\plugins\\*.*\" \"${TARGETDIR}\\plugins\"
-    COMMAND copy /Y \"${WIN_SOURCE_DIR}\\release\\text\\*.*\" \"${TARGETDIR}\"
-    COMMAND copy /Y \"${WIN_SOURCE_DIR}\\release\\windows\\extra\\python25.zip\" \"${TARGETDIR}\\\"
-  )
-  
-  FILE(TO_NATIVE_PATH "${LIBDIR}" WIN_LIBDIR)
-  
-  ADD_CUSTOM_COMMAND(TARGET blender
-    POST_BUILD
-    MAIN_DEPENDENCY blender
-    COMMAND copy /Y \"${WIN_LIBDIR}\\gettext\\lib\\gnu_gettext.dll\" \"${TARGETDIR}\\\"
-    COMMAND copy /Y \"${WIN_LIBDIR}\\png\\lib\\libpng.dll\" \"${TARGETDIR}\\\"
-    COMMAND copy /Y \"${WIN_LIBDIR}\\sdl\\lib\\SDL.dll\" \"${TARGETDIR}\\\"
-    COMMAND copy /Y \"${WIN_LIBDIR}\\zlib\\lib\\zlib.dll\" \"${TARGETDIR}\\\"
-    COMMAND copy /Y \"${WIN_LIBDIR}\\tiff\\lib\\libtiff.dll\" \"${TARGETDIR}\\\"
-    COMMAND copy /Y \"${WIN_LIBDIR}\\python\\lib\\python25.dll\" \"${TARGETDIR}\\\"
-    COMMAND copy /Y \"${WIN_LIBDIR}\\pthreads\\lib\\pthreadVC2.dll\" \"${TARGETDIR}\\\"
-  )
+        COMMAND rm ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/lib-dynload/_tkinter.so
+        COMMAND find ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION} -name "test" -prune -exec rm -rf {} "\;"
+        COMMAND find ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION} -name "*.py?" -exec rm -rf {} "\;"
+        COMMAND find ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION} -name "*.so"-exec strip -s {} "\;"
+      )
+     
+    ENDIF(WITH_PYTHON)
+      
+    ADD_CUSTOM_COMMAND(
+      TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+      COMMAND find ${TARGETDIR} -name .svn -prune -exec rm -rf {} "\;"
+    )
+    
+  ENDIF(UNIX AND NOT APPLE)
+
+  IF(APPLE)
+    SET(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app)
+    SET(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist)
+    SET(TARGETINFO ${TARGETDIR}/blender.app/Contents/Info.plist)
+
+    ADD_CUSTOM_COMMAND(
+      TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+      COMMAND cp -R ${SOURCEINFO} ${TARGETDIR}/blender.app/Contents/
+      COMMAND cp -R ${SOURCEDIR}/Contents/PkgInfo ${TARGETDIR}/blender.app/Contents/
+      COMMAND cp -R ${SOURCEDIR}/Contents/Resources ${TARGETDIR}/blender.app/Contents/
+      COMMAND cat ${SOURCEINFO} | sed s/VERSION/`cat ${CMAKE_SOURCE_DIR}/release/VERSION`/ | sed s/DATE/`date +'%Y-%b-%d'`/ > ${TARGETINFO}
+      COMMAND rm -Rf ${TARGETDIR}/blender.app/Contents/MacOS/.blender
+      COMMAND mkdir ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
+      COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.bfont.ttf ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
+    )
+      
+    IF(WITH_INTERNATIONAL)
+      ADD_CUSTOM_COMMAND(
+        TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+        COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
+        COMMAND cp -R ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/blender.app/Contents/Resources/
+        COMMAND cp -R ${CMAKE_SOURCE_DIR}/bin/.blender/locale ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
+        COMMAND cp ${CMAKE_SOURCE_DIR}/bin/.blender/.Blanguages ${TARGETDIR}/blender.app/Contents/Resources/
+      )
+    ENDIF(WITH_INTERNATIONAL)
+      
+    IF(WITH_PYTHON)
+      ADD_CUSTOM_COMMAND(
+        TARGET blender POST_BUILD MAIN_DEPENDENCY blender
+        COMMAND cp -Rf ${CMAKE_SOURCE_DIR}/release/ui ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
+        COMMAND cp -Rf ${CMAKE_SOURCE_DIR}/release/io ${TARGETDIR}/blender.app/Contents/MacOS/.blender/
+        COMMAND mkdir ${TARGETDIR}/blender.app/Contents/MacOS/.blender/python/
+        COMMAND unzip -q ${LIBDIR}/release/python.zip -d ${TARGETDIR}/blender.app/Contents/MacOS/.blender/python/
+        COMMAND find ${TARGETDIR}/blender.app -name "*.py?" -prune -exec rm -rf {} "\;"
+      )
+    ENDIF(WITH_PYTHON)      
+    
+    ADD_CUSTOM_COMMAND(
+      TARGET blender POST_BUILD MAIN_DEPENDENCY blender    
+      COMMAND find ${TARGETDIR}/blender.app -name .DS_Store -prune -exec rm -rf {} "\;"
+      COMMAND find ${TARGETDIR}/blender.app -name .svn -prune -exec rm -rf {} "\;"
+    )
+  ENDIF(APPLE)
 
-  IF(WITH_INTERNATIONAL)
+  IF(WIN32)
+    FILE(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} WIN_SOURCE_DIR)
+    
     ADD_CUSTOM_COMMAND(TARGET blender
       POST_BUILD
       MAIN_DEPENDENCY blender
-      COMMAND copy /Y \"${WIN_LIBDIR}\\iconv\\lib\\iconv.dll\" \"${TARGETDIR}\\\"
+      COMMAND if not exist \"${TARGETDIR}\\.blender\" mkdir \"${TARGETDIR}\\.blender\"
+      COMMAND if not exist \"${TARGETDIR}\\.blender\\locale\" mkdir \"${TARGETDIR}\\.blender\\locale\"
+      COMMAND if not exist \"${TARGETDIR}\\.blender\\ui\" mkdir \"${TARGETDIR}\\.blender\\ui\"
+      COMMAND if not exist \"${TARGETDIR}\\.blender\\io\" mkdir \"${TARGETDIR}\\.blender\\io\"
+      COMMAND if not exist \"${TARGETDIR}\\plugins\" mkdir \"${TARGETDIR}\\plugins\"
+      COMMAND copy /Y \"${WIN_SOURCE_DIR}\\bin\\.blender\\.Blanguages\" \"${TARGETDIR}\\.blender\\\" 
+      COMMAND copy /Y \"${WIN_SOURCE_DIR}\\bin\\.blender\\.bfont.ttf\" \"${TARGETDIR}\\.blender\\\"
+      COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\bin\\.blender\\locale\\*.*\" \"${TARGETDIR}\\.blender\\locale\"
+      COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\scripts\\*.*\" \"${TARGETDIR}\\.blender\\scripts\"
+      COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\ui\\*.*\" \"${TARGETDIR}\\.blender\\ui\"
+      COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\io\\*.*\" \"${TARGETDIR}\\.blender\\io\"
+      COMMAND xcopy /E /Y \"${WIN_SOURCE_DIR}\\release\\plugins\\*.*\" \"${TARGETDIR}\\plugins\"
+      COMMAND copy /Y \"${WIN_SOURCE_DIR}\\release\\text\\*.*\" \"${TARGETDIR}\"
+      COMMAND copy /Y \"${WIN_SOURCE_DIR}\\release\\windows\\extra\\python26.zip\" \"${TARGETDIR}\\\"
     )
-  ENDIF(WITH_INTERNATIONAL)
-
-  IF(WITH_FFMPEG)
+    
+    FILE(TO_NATIVE_PATH "${LIBDIR}" WIN_LIBDIR)
+    
     ADD_CUSTOM_COMMAND(TARGET blender
       POST_BUILD
       MAIN_DEPENDENCY blender
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avcodec-51.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avformat-52.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avdevice-52.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avutil-49.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libfaac-0.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libfaad-0.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libmp3lame-0.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libx264-59.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\swscale-0.dll\" \"${TARGETDIR}\\\"
-      COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\xvidcore.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\release\\python31.zip\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\gettext\\lib\\gnu_gettext.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\png\\lib\\libpng.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\sdl\\lib\\SDL.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\zlib\\lib\\zlib.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\tiff\\lib\\libtiff.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\python\\lib\\python31.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\python\\lib\\python31_d.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\pthreads\\lib\\pthreadVC2.dll\" \"${TARGETDIR}\\\"
+      COMMAND copy /Y \"${WIN_LIBDIR}\\samplerate\\lib\\libsamplerate-0.dll\" \"${TARGETDIR}\\\"
     )
-  ENDIF(WITH_FFMPEG)
-ENDIF(WIN32)
+
+    IF(WITH_INTERNATIONAL)
+      ADD_CUSTOM_COMMAND(TARGET blender
+        POST_BUILD
+        MAIN_DEPENDENCY blender
+        COMMAND copy /Y \"${WIN_LIBDIR}\\iconv\\lib\\iconv.dll\" \"${TARGETDIR}\\\"
+      )
+    ENDIF(WITH_INTERNATIONAL)
+
+    IF(WITH_FFMPEG)
+      ADD_CUSTOM_COMMAND(TARGET blender
+        POST_BUILD
+        MAIN_DEPENDENCY blender
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avcodec-52.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avformat-52.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avdevice-52.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\avutil-50.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libfaac-0.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libfaad-2.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libmp3lame-0.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\libx264-67.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\swscale-0.dll\" \"${TARGETDIR}\\\"
+        COMMAND copy /Y \"${WIN_LIBDIR}\\ffmpeg\\lib\\xvidcore.dll\" \"${TARGETDIR}\\\"
+      )
+    ENDIF(WITH_FFMPEG)
+  ENDIF(WIN32)
+ENDIF(WITH_INSTALL)
 
 ADD_DEPENDENCIES(blender makesdna)
 
 FILE(READ ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS)
 
-SET(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} src blender_python blender_render blender_radiosity)
+SET(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} bf_windowmanager bf_editors blender_render)
 
 IF(WITH_ELBEEM)
   SET(BLENDER_LINK_LIBS ${BLENDER_LINK_LIBS} bf_elbeem)
@@ -203,19 +281,19 @@ ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
 IF(UNIX)
   # Sort libraries
   SET(BLENDER_SORTED_LIBS
-    src 
+    bf_windowmanager
+    bf_editors
     bf_decimation 
     blender_BSP 
-    bf_soundsystem 
     bf_ghost 
     bf_string 
     blender_render 
-    blender_radiosity 
     blender_ONL 
-    blender_python 
+    bf_python 
+    bf_gen_python 
     bf_blenkernel 
     bf_nodes
-       bf_gpu
+    bf_gpu
     bf_blenloader 
     bf_blenpluginapi 
     bf_imbuf 
@@ -229,21 +307,18 @@ IF(UNIX)
     bf_kernel 
     bf_decimation 
     bf_elbeem 
-    bf_yafray 
     bf_IK 
     bf_memutil 
     bf_guardedalloc 
     blender_CTR 
     bf_moto 
-    bf_bmfont 
-    verse 
-    src 
-    bf_ftfont 
-    extern_ftgl 
+    bf_windowmanager
+    bf_editors
     bf_blroutines 
     bf_converter 
     bf_dummy 
     bf_bullet 
+    bf_smoke
     bf_common 
     bf_ketsji 
     bf_logic 
@@ -258,17 +333,25 @@ IF(UNIX)
     bf_ngnetwork 
     extern_bullet 
     bf_loopbacknetwork 
-    bf_sumo 
     bf_common 
-    extern_solid 
-    extern_qhull 
     bf_moto 
-    blender_python
+    bf_python
+    bf_gen_python
     bf_quicktime
     extern_binreloc
-       extern_glew
+    extern_glew
+    extern_libopenjpeg
+    bf_videotex
+    bf_rna
+    bf_dna
+    bf_blenfont
+    bf_audaspace
   )
 
+  IF(WITH_CXX_GUARDEDALLOC)
+    SET(BLENDER_SORTED_LIBS ${BLENDER_SORTED_LIBS} bf_guardedalloc_cpp)
+  ENDIF(WITH_CXX_GUARDEDALLOC)
+
   FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})
     SET(REMLIB ${SORTLIB})
     FOREACH(SEARCHLIB ${BLENDER_LINK_LIBS})