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)
 
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to