Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-07 19:53:40 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-11-07 19:53:40 +0400
commita6828b9c6f2ec24853cccac16bfdfae870c0d8c2 (patch)
treef97bc758915a5235f0f128c271e15e628e33ae45
parentb06db617a04e7ca378c6e38d90c37c9924207d82 (diff)
CMake: add delayed_install macro to specify files to be installed from modules
other than source/creator.
-rw-r--r--build_files/cmake/macros.cmake35
-rw-r--r--source/creator/CMakeLists.txt11
2 files changed, 46 insertions, 0 deletions
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index ba1cdd9013b..c9a04f87148 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -630,3 +630,38 @@ macro(blender_project_hack_post)
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()
+
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index a633a139995..b0e5427500b 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -575,6 +575,14 @@ elseif(WIN32)
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 @@ elseif(APPLE)
endif()
endif()
+# install more files specified elsewhere
+delayed_do_install(${TARGETDIR_VER})
+
unset(BLENDER_TEXT_FILES)