Revision: 35381
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35381
Author:   campbellbarton
Date:     2011-03-07 03:33:33 +0000 (Mon, 07 Mar 2011)
Log Message:
-----------
use install target for CMake Windows (msvc and mingw), for MinGW you now need 
to run 'make install', for MSVC the 'INSTALL' target needs to be enabled in the 
project file

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/source/creator/CMakeLists.txt

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt        2011-03-07 03:12:30 UTC (rev 35380)
+++ trunk/blender/CMakeLists.txt        2011-03-07 03:33:33 UTC (rev 35381)
@@ -718,13 +718,12 @@
                        set(WITH_JACK OFF)
                endif()
 
-               # TODO: mingw move to Python 3.2
                if(WITH_PYTHON)
                        set(PYTHON ${LIBDIR}/python)
-                       set(PYTHON_VERSION 3.1)
+                       set(PYTHON_VERSION 3.2)
                        set(PYTHON_INCLUDE_DIRS 
"${PYTHON}/include/python${PYTHON_VERSION}")
                        # set(PYTHON_BINARY python) # not used yet
-                       set(PYTHON_LIBRARY python31mw)
+                       set(PYTHON_LIBRARY python32mw)
                        set(PYTHON_LIBPATH ${PYTHON}/lib)
                endif()
 

Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt 2011-03-07 03:12:30 UTC (rev 
35380)
+++ trunk/blender/source/creator/CMakeLists.txt 2011-03-07 03:33:33 UTC (rev 
35381)
@@ -181,8 +181,14 @@
 
 # Post build steps for bundling/packaging.
 
-set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
 
+if(MSVC)
+       # ${CMAKE_CFG_INTDIR} should replace \${BUILD_TYPE} when using 
add_command
+       set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE})
+else()
+       set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH})
+endif()
+
 if(WITH_INSTALL)
 
        if(UNIX)
@@ -320,147 +326,178 @@
                        endif()
                endif()
        elseif(WIN32)
-               # notice 'xcopy /Y /H' on .bfont.ttf, this is needed when 
building over samba
-               add_custom_command(TARGET blender
-                       POST_BUILD
-                       MAIN_DEPENDENCY blender
-                       COMMAND if not exist 
\"${TARGETDIR}\\${BLENDER_VERSION}\" mkdir \"${TARGETDIR}\\${BLENDER_VERSION}\"
-                       COMMAND if not exist 
\"${TARGETDIR}\\${BLENDER_VERSION}\\scripts\" mkdir 
\"${TARGETDIR}\\${BLENDER_VERSION}\\scripts\"
-                       COMMAND if not exist 
\"${TARGETDIR}\\${BLENDER_VERSION}\\config\" mkdir 
\"${TARGETDIR}\\${BLENDER_VERSION}\\config\"
-                       COMMAND if not exist \"${TARGETDIR}\\plugins\" mkdir 
\"${TARGETDIR}\\plugins\"
-                       COMMAND xcopy /Y /H 
\"${CMAKE_SOURCE_DIR}\\release\\bin\\.blender\\.bfont.ttf\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\config\\\"
-                       COMMAND xcopy /E /Y 
\"${CMAKE_SOURCE_DIR}\\release\\scripts\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\scripts\\\"
-                       COMMAND xcopy /E /Y 
\"${CMAKE_SOURCE_DIR}\\release\\plugins\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\plugins\\\"
-                       COMMAND copy /Y 
\"${CMAKE_SOURCE_DIR}\\release\\text\\*.*\" \"${TARGETDIR}\\\"
+
+               set(TARGETDIR_VER ${TARGETDIR}/${BLENDER_VERSION})
+
+               install(  # same as linux!, deduplicate
+                       CODE
+                       "file(REMOVE_RECURSE ${TARGETDIR_VER})"
                )
-       
+
+               install(  # same as linux!, deduplicate
+                       DIRECTORY ${CMAKE_SOURCE_DIR}/release/text/
+                       DESTINATION ${TARGETDIR_VER}/../
+                       PATTERN ".svn" EXCLUDE
+               )
+
+               install(  # same as linux!, deduplicate
+                       FILES 
${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
+                       DESTINATION ${TARGETDIR_VER}/config
+               )
+
+               if(WITH_INTERNATIONAL) # same as linux!, deduplicate
+                       install(
+                               FILES 
${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
+                               DESTINATION ${TARGETDIR_VER}/config
+                       )
+                       install(
+                               DIRECTORY 
${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
+                               DESTINATION ${TARGETDIR_VER}/datafiles/
+                               PATTERN ".svn" EXCLUDE
+                       )
+
+                       if(NOT CMAKE_CL_64)
+                               install(
+                                       FILES ${LIBDIR}/iconv/lib/iconv.dll
+                                       DESTINATION ${TARGETDIR}/
+                               )
+                       endif()
+               endif()
+
+               install( # same as linux!, deduplicate
+                       DIRECTORY 
${CMAKE_SOURCE_DIR}/release/bin/.blender/locale/
+                       DESTINATION 
${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION}/datafiles/locale
+                       PATTERN ".svn" EXCLUDE
+               )
+
+               install( # same as linux!, deduplicate
+                       DIRECTORY ${CMAKE_SOURCE_DIR}/release/text/
+                       DESTINATION ${TARGETDIR_VER}/../
+                       PATTERN ".svn" EXCLUDE
+               )
+
+               install(  # TODO, copy to linux
+                       DIRECTORY ${CMAKE_SOURCE_DIR}/release/plugins
+                       DESTINATION ${TARGETDIR_VER}/
+                       PATTERN ".svn" EXCLUDE
+               )
+
+               if(WITH_PYTHON)
+                       # install(CODE "message(\"copying blender 
scripts...\")")
+                       install(  # same as linux!, deduplicate
+                               DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts
+                               DESTINATION ${TARGETDIR_VER}/
+                               PATTERN ".svn" EXCLUDE
+                               PATTERN "__pycache__" EXCLUDE
+                       )
+
+                       # TODO, multiple targets?
+                       install(FILES ${LIBDIR}/python/lib/python32.dll 
DESTINATION ${TARGETDIR}/ CONFIGURATIONS Release)
+                       install(FILES ${LIBDIR}/python/lib/python32.dll 
DESTINATION ${TARGETDIR}/ CONFIGURATIONS RelWithDebInfo)
+                       install(FILES ${LIBDIR}/python/lib/python32.dll 
DESTINATION ${TARGETDIR}/ CONFIGURATIONS MinSizeRel)
+
+                       install(
+                               FILES ${LIBDIR}/python/lib/python32_d.dll
+                               DESTINATION ${TARGETDIR}/
+                               CONFIGURATIONS Debug
+                       )
+
+                       if(WITH_PYTHON_INSTALL)
+                               #~ # note, as far as python is concerned 
'RelWithDebInfo' is not debug since its without debug flags.
+                               # install(CODE "message(\"copying a subset of 
the systems python...\")")
+
+                               install(
+                                       CODE
+                                       "execute_process(COMMAND 
${CMAKE_COMMAND}
+                                       -E make_directory 
${TARGETDIR_VER}/python/lib/)"
+                               )
+
+                               install(
+                                       CODE
+                                       "
+                                       if(BUILD_TYPE MATCHES \"Debug\")
+                                               set(PYBUNDLE 
\"python32_d.tar.gz\")
+                                       else()
+                                               set(PYBUNDLE 
\"python32.tar.gz\")
+                                       endif()
+
+                                       execute_process(COMMAND ${CMAKE_COMMAND}
+                                               -E chdir 
${TARGETDIR_VER}/python/lib/
+                                               ${CMAKE_COMMAND} -E tar xzfv 
${LIBDIR}/release/\${PYBUNDLE})
+                                       "
+                               )
+
+                               # TODO, debug
+
+                               # doesnt work, todo
+                               # install(CODE "execute_process(COMMAND find 
${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} 
'\;')")
+                       endif()
+               endif()
+
                if(CMAKE_CL_64)
                        # gettext and png are statically linked on win64
-                       add_custom_command(TARGET blender
-                               POST_BUILD
-                               MAIN_DEPENDENCY blender
-                               COMMAND copy /Y 
\"${LIBDIR}\\zlib\\lib\\zlib.dll\" \"${TARGETDIR}\\\"
+                       install(
+                               FILES ${LIBDIR}/zlib/lib/zlib.dll
+                               DESTINATION ${TARGETDIR}/
                        )
                else()
-                       add_custom_command(TARGET blender
-                               POST_BUILD
-                               MAIN_DEPENDENCY blender
-                               COMMAND copy /Y 
\"${LIBDIR}\\gettext\\lib\\gnu_gettext.dll\" \"${TARGETDIR}\\\"
-                               COMMAND copy /Y 
\"${LIBDIR}\\png\\lib\\libpng.dll\" \"${TARGETDIR}\\\"
-                               COMMAND copy /Y 
\"${LIBDIR}\\zlib\\lib\\zlib.dll\" \"${TARGETDIR}\\\"
+                       install(
+                               FILES
+                               ${LIBDIR}/gettext/lib/gnu_gettext.dll # TODO 
INTERNATIONAL ONLY!
+                               ${LIBDIR}/png/lib/libpng.dll
+                               ${LIBDIR}/zlib/lib/zlib.dll
+                               DESTINATION ${TARGETDIR}/
                        )
                endif()
-               
-               
+
                if(MSVC)
-                       add_custom_command(TARGET blender
-                               POST_BUILD
-                               MAIN_DEPENDENCY blender
-                               COMMAND copy /Y 
\"${LIBDIR}\\pthreads\\lib\\pthreadVC2.dll\" \"${TARGETDIR}\\\"
+                       install(
+                               FILES ${LIBDIR}/pthreads/lib/pthreadVC2.dll
+                               DESTINATION ${TARGETDIR}/
                        )
                else()
-                       add_custom_command(TARGET blender
-                               POST_BUILD
-                               MAIN_DEPENDENCY blender
-                               COMMAND copy /Y 
\"${LIBDIR}\\pthreads\\lib\\pthreadGC2.dll\" \"${TARGETDIR}\\\"
+                       install(
+                               FILES ${LIBDIR}/pthreads/lib/pthreadGC2.dll
+                               DESTINATION ${TARGETDIR}/
                        )
                endif()
 
-               if(WITH_PYTHON)
-                       # note, as far as python is concerned 'RelWithDebInfo' 
is not debug since its without debug flags.
-                       if(NOT CMAKE_BUILD_TYPE) # hack: with 
multi-configuration generator this is "", so for now copy both python32.dll/zip 
and python32_d.dll/zip
-                               add_custom_command(TARGET blender
-                                       POST_BUILD
-                                       MAIN_DEPENDENCY blender
-                                       COMMAND if not exist 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\" mkdir 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"\" copy /Y \"${LIBDIR}\\python\\lib\\python32.dll\" \"${TARGETDIR}\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"\" xcopy /E /Y \"${LIBDIR}\\release\\python32\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"Debug\" copy /Y \"${LIBDIR}\\python\\lib\\python32_d.dll\" \"${TARGETDIR}\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"Debug\" xcopy /E /Y \"${LIBDIR}\\release\\python32_d\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"RelWithDebInfo\" copy /Y \"${LIBDIR}\\python\\lib\\python32.dll\" 
\"${TARGETDIR}\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"RelWithDebInfo\" xcopy /E /Y \"${LIBDIR}\\release\\python32\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"Release\" copy /Y \"${LIBDIR}\\python\\lib\\python32.dll\" \"${TARGETDIR}\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"Release\" xcopy /E /Y \"${LIBDIR}\\release\\python32\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"MinSizeRel\" copy /Y \"${LIBDIR}\\python\\lib\\python32.dll\" 
\"${TARGETDIR}\\\"
-                                       COMMAND if \"$(ConfigurationName)\" == 
\"MinSizeRel\" xcopy /E /Y \"${LIBDIR}\\release\\python32\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\\\"
-                               )
-                       else()
-                               if(CMAKE_BUILD_TYPE STREQUAL Debug)
-                                       add_custom_command(TARGET blender
-                                               POST_BUILD
-                                               MAIN_DEPENDENCY blender
-                                               COMMAND copy /Y 
\"${LIBDIR}\\python\\lib\\python32_d.dll\" \"${TARGETDIR}\\\"
-                                               COMMAND xcopy /E /Y 
\"${LIBDIR}\\release\\python32_d\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\\\"
-                                       )
-                               else()
-                                       add_custom_command(TARGET blender
-                                               POST_BUILD
-                                               MAIN_DEPENDENCY blender
-                                               COMMAND copy /Y 
\"${LIBDIR}\\python\\lib\\python32.dll\" \"${TARGETDIR}\\\"
-                                               COMMAND xcopy /E /Y 
\"${LIBDIR}\\release\\python32\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\python\\lib\\\"
-                                       )
-                               endif()
-                       endif()
-               endif()
-
-               if(WITH_INTERNATIONAL)
-                       if(CMAKE_CL_64)
-                               # iconv is statically linked on win64
-                               add_custom_command(TARGET blender
-                                       POST_BUILD
-                                       MAIN_DEPENDENCY blender
-                                       COMMAND if not exist 
\"${TARGETDIR}\\${BLENDER_VERSION}\\config\\locale\" mkdir 
\"${TARGETDIR}\\${BLENDER_VERSION}\\config\\locale\"
-                                       COMMAND copy /Y 
\"${CMAKE_SOURCE_DIR}\\release\\bin\\.blender\\.Blanguages\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\config\\\" 
-                                       COMMAND xcopy /E /Y 
\"${CMAKE_SOURCE_DIR}\\release\\bin\\.blender\\locale\\*.*\" 
\"${TARGETDIR}\\${BLENDER_VERSION}\\config\\locale\\\"
-                               )
-                       else()
-                               add_custom_command(TARGET blender
-                                       POST_BUILD
-                                       MAIN_DEPENDENCY blender
-                                       COMMAND copy /Y 
\"${LIBDIR}\\iconv\\lib\\iconv.dll\" \"${TARGETDIR}\\\"

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to