[Bf-blender-cvs] [e43c5fa] master: cmake. refactor installing python things to not have absolute path's buildbot. add rudementatry cpack based packing for cmake path

Martijn Berger noreply at git.blender.org
Tue Nov 11 15:49:02 CET 2014


Commit: e43c5fa005c941aa773f35fb6b8398afe37b25e9
Author: Martijn Berger
Date:   Tue Nov 11 15:47:22 2014 +0100
Branches: master
https://developer.blender.org/rBe43c5fa005c941aa773f35fb6b8398afe37b25e9

cmake. refactor installing python things to not have absolute path's
buildbot. add rudementatry cpack based packing for cmake path

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

M	build_files/buildbot/slave_pack.py
M	source/creator/CMakeLists.txt

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

diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index c989cd8..ec8fd61 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -115,6 +115,11 @@ if builder.find('scons') != -1:
 
         retcode = subprocess.call([python_bin, 'scons/scons.py'] + scons_options)
         sys.exit(retcode)
+else:
+#cmake
+    if 'win' in builder:
+        retcode = subprocess.call(['cpack', '-G','ZIP'])
+        sys.exit(retcode)
 
 # clean release directory if it already exists
 release_dir = 'release'
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 6807b5e..95c1655 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -267,7 +267,7 @@ if(UNIX AND NOT APPLE)
 	endif()
 
 elseif(WIN32)
-	set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/${BLENDER_VERSION})
+	set(TARGETDIR_VER ${BLENDER_VERSION})
 
 elseif(APPLE)
 	if(WITH_PYTHON_MODULE)
@@ -622,53 +622,40 @@ elseif(WIN32)
 		if(WITH_PYTHON_INSTALL)
 			# note, as far as python is concerned 'RelWithDebInfo' is not debug since its without debug flags.
 
-			# create the directory in multiple steps, so it actually gets created when it doesn't exist yet
-			install(
-				CODE
-				"
-				message(\"creating ${TARGETDIR_VER}/python/lib\")
-				file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python\")
-				file(MAKE_DIRECTORY \"${TARGETDIR_VER}/python/lib\")
-				message(\"done creating dir\")
-				"
-			)
+			install(DIRECTORY DESTINATION ${TARGETDIR_VER}/python)
+			install(DIRECTORY DESTINATION ${TARGETDIR_VER}/python/lib)
 
-			install(
-				CODE
-				"
-				if(\"\${CMAKE_INSTALL_CONFIG_NAME}\" STREQUAL \"Debug\")
-					execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
-						\"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_d.tar.gz\")
-				else()
-					execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib\"
-						\"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}.tar.gz\")
-				endif()
-				"
-			)
+			execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib")
 
-			if(WITH_PYTHON_INSTALL_NUMPY)
-				install(
-					CODE
-					"
-					execute_process(COMMAND \"${CMAKE_COMMAND}\" -E chdir \"${TARGETDIR_VER}/python/lib/site-packages\"
-						\"${CMAKE_COMMAND}\" -E tar xzfv \"${LIBDIR}/release/python${_PYTHON_VERSION_NO_DOTS}_numpy_1.8.tar.gz\")
-					"
-				)
+			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)
+			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)
 			endif()
 
+			add_dependencies(blender python_std_lib)
+
 			# release/site-packages
-			install(
-				CODE
-				"
-				execute_process(COMMAND \"${CMAKE_COMMAND}\" -E copy_directory
-					${LIBDIR}/release/site-packages
-					\"${TARGETDIR_VER}/python/lib/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)
+
+			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"
+					WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib/site-packages)
+			endif()
+
+			add_dependencies(blender python_numpy)
+
+			install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${BLENDER_VERSION}/python/lib
+					DESTINATION ${BLENDER_VERSION}/python	)
 
-			# doesnt work, todo
-			# install(CODE "execute_process(COMMAND find ${CMAKE_INSTALL_PREFIX}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
 		endif()
 
 		unset(_PYTHON_VERSION_NO_DOTS)
@@ -969,4 +956,7 @@ if(WIN32 AND NOT WITH_PYTHON_MODULE)
 
 	set_target_properties(blender PROPERTIES OUTPUT_NAME blender-app)
 	set_target_properties(blender-launcher PROPERTIES OUTPUT_NAME blender)
+
+	install(TARGETS blender blender-launcher
+			DESTINATION ".")
 endif()




More information about the Bf-blender-cvs mailing list