[Bf-blender-cvs] [77785ce] master: cmake/windows Change python installation so it does not trigger on simple rebuilds

Martijn Berger noreply at git.blender.org
Wed Nov 26 15:32:06 CET 2014


Commit: 77785ce708076ab42368459b0b1ee64cb87931c8
Author: Martijn Berger
Date:   Wed Nov 26 15:08:40 2014 +0100
Branches: master
https://developer.blender.org/rB77785ce708076ab42368459b0b1ee64cb87931c8

cmake/windows Change python installation so it does not trigger on simple rebuilds

===================================================================

M	source/creator/CMakeLists.txt

===================================================================

diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 394219b..71f0ef8 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -628,36 +628,38 @@ elseif(WIN32)
 			install(DIRECTORY DESTINATION ${TARGETDIR_VER}/python)
 			install(DIRECTORY DESTINATION ${TARGETDIR_VER}/python/lib)
 
-			execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib")
-
 			if(\"\${CMAKE_INSTALL_CONFIG_NAME}\" STREQUAL \"Debug\")
-				add_custom_target(python_std_lib
-					COMMAND ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_d.tar.gz"
-					WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib)
+				add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib
+					COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib"
+					COMMAND ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_d.tar.gz -C ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib")
 			else()
-				add_custom_target(python_std_lib
-					COMMAND ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}.tar.gz"
-					WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib)
+				add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib
+					COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib"
+					COMMAND ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}.tar.gz -C ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib")
 			endif()
 
-			add_dependencies(blender python_std_lib)
-
 			# release/site-packages
-			add_custom_target(python_site-packages
-					COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/release/site-packages ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/)
-
-			add_dependencies(blender python_site-packages)
+			install(DIRECTORY ${LIBDIR}/release/site-packages
+					DESTINATION ${BLENDER_VERSION}/python/lib
+					PATTERN ".svn" EXCLUDE
+					PATTERN "__pycache__" EXCLUDE           # * any cache *
+					PATTERN "*.pyc" EXCLUDE                 # * any cache *
+					PATTERN "*.pyo" EXCLUDE                 # * any cache *)
+					)
 
 			if(WITH_PYTHON_INSTALL_NUMPY)
-				add_custom_target(python_numpy
-					COMMAND ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_numpy_1.8.tar.gz"
+				add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages/numpy
+					COMMAND ${CMAKE_COMMAND} -E tar xzvf "${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_numpy_1.8.tar.gz"
+					DEPENDS ${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_numpy_1.8.tar.gz
 					WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages)
-				add_dependencies(blender python_numpy)
+				install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages/numpy
+						DESTINATION ${BLENDER_VERSION}/python/lib/site-packages)
 			endif()
 
 
 			install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib
-					DESTINATION ${BLENDER_VERSION}/python	)
+					DESTINATION ${BLENDER_VERSION}/python
+					PATTERN 'site-packages/*' EXCLUDE)
 
 		endif()




More information about the Bf-blender-cvs mailing list