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