[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41621] trunk/blender: CMake: add delayed_install macro to specify files to be installed from modules

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Nov 7 16:53:40 CET 2011


Revision: 41621
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41621
Author:   blendix
Date:     2011-11-07 15:53:40 +0000 (Mon, 07 Nov 2011)
Log Message:
-----------
CMake: add delayed_install macro to specify files to be installed from modules
other than source/creator.

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

Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake	2011-11-07 15:44:09 UTC (rev 41620)
+++ trunk/blender/build_files/cmake/macros.cmake	2011-11-07 15:53:40 UTC (rev 41621)
@@ -630,3 +630,38 @@
 	endif()
 
 endmacro()
+
+# pair of macros to allow libraries to be specify files to install, but to
+# only install them at the end so the directories don't get cleared with
+# the files in them. used by cycles to install addon.
+macro(delayed_install
+	base
+	files
+	destination)
+
+	foreach(f ${files})
+		set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${base}/${f})
+		set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_DESTINATIONS ${destination})
+	endforeach()
+endmacro()
+
+# note this is a function instead of a macro so that ${BUILD_TYPE} in targetdir
+# does not get expanded in calling but is preserved
+function(delayed_do_install
+	targetdir)
+
+	get_property(files GLOBAL PROPERTY DELAYED_INSTALL_FILES)
+	get_property(destinations GLOBAL PROPERTY DELAYED_INSTALL_DESTINATIONS)
+
+	if(files)
+		list(LENGTH files n)
+		math(EXPR n "${n}-1")
+
+		foreach(i RANGE ${n})
+			list(GET files ${i} f)
+			list(GET destinations ${i} d)
+			install(FILES ${f} DESTINATION ${targetdir}/${d})
+		endforeach()
+	endif()
+endfunction()
+

Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt	2011-11-07 15:44:09 UTC (rev 41620)
+++ trunk/blender/source/creator/CMakeLists.txt	2011-11-07 15:53:40 UTC (rev 41621)
@@ -575,6 +575,14 @@
 		DESTINATION ${TARGETDIR}
 	)	
 
+	if(WITH_OPENIMAGEIO)
+		install(
+			FILES
+				${LIBDIR}/openimageio/bin/OpenImageIO.dll
+			DESTINATION ${TARGETDIR}
+		)
+	endif()
+
 elseif(APPLE)
 	set(SOURCEDIR ${CMAKE_SOURCE_DIR}/source/darwin/blender.app)
 	set(SOURCEINFO ${SOURCEDIR}/Contents/Info.plist)
@@ -720,6 +728,9 @@
 	endif()
 endif()
 
+# install more files specified elsewhere
+delayed_do_install(${TARGETDIR_VER})
+
 unset(BLENDER_TEXT_FILES)
 
 




More information about the Bf-blender-cvs mailing list