[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37901] branches/cycles/intern/cycles/ blender/CMakeLists.txt: Cycles: for mac and unix, copy oiio/ boost dynamic libraries into cycles lib

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Jun 28 15:44:48 CEST 2011


Revision: 37901
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37901
Author:   blendix
Date:     2011-06-28 13:44:47 +0000 (Tue, 28 Jun 2011)
Log Message:
-----------
Cycles: for mac and unix, copy oiio/boost dynamic libraries into cycles lib
directory to avoid library path issues.

Modified Paths:
--------------
    branches/cycles/intern/cycles/blender/CMakeLists.txt

Modified: branches/cycles/intern/cycles/blender/CMakeLists.txt
===================================================================
--- branches/cycles/intern/cycles/blender/CMakeLists.txt	2011-06-28 13:43:18 UTC (rev 37900)
+++ branches/cycles/intern/cycles/blender/CMakeLists.txt	2011-06-28 13:44:47 UTC (rev 37901)
@@ -78,12 +78,8 @@
 INSTALL(FILES ${addonfiles} DESTINATION ${CYCLES_INSTALL_PATH}/cycles)
 INSTALL(TARGETS cycles_blender LIBRARY DESTINATION ${CYCLES_INSTALL_PATH}/cycles)
 
-IF(UNIX AND NOT APPLE)
-	SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib)
-ENDIF()
+# Install Dynamic Libraries
 
-# Install DLL's
-
 IF(WIN32)
 	FILE(GLOB OIIO_DLLS "${CYCLES_OIIO}/bin/*.dll")
 	FILE(GLOB BOOST_DLLS "${CYCLES_BOOST}/lib/*.dll")
@@ -91,4 +87,39 @@
 		DESTINATION ${CYCLES_INSTALL_PATH}/cycles)
 ENDIF()
 
+IF(UNIX)
+	# copy libraries to cycles lib directory
+	SET(install_libs
+		${OPENIMAGEIO_LIBRARY}
+		${Boost_LIBRARIES}
+		${OSL_LIBRARIES}
+		${PARTIO_LIBRARIES})
 
+	INSTALL(FILES ${install_libs}
+		DESTINATION ${CYCLES_INSTALL_PATH}/cycles/lib)
+	
+	IF(NOT APPLE)
+		# set path to look for dynamic libs
+		SET_TARGET_PROPERTIES(cycles_blender PROPERTIES INSTALL_RPATH $ORIGIN/lib)
+	ELSE()
+		# modify our libs to looks for dynamic libs in cycles lib directory
+		SET(install_name_command "install_name_tool")
+
+		FOREACH(lib ${install_libs})
+			GET_FILENAME_COMPONENT(libname ${lib} NAME)
+			SET(install_name_command " ${install_name_command} -change ${lib} @loader_path/lib/${libname}")
+			SET(install_name_command " ${install_name_command} -change ${libname} @loader_path/lib/${libname}")
+		ENDFOREACH()
+
+		INSTALL(
+			CODE
+			"
+			EXECUTE_PROCESS(COMMAND ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so)
+			EXECUTE_PROCESS(COMMAND echo ${install_name_command} ${CYCLES_INSTALL_PATH}/cycles/libcycles_blender.so)
+			"
+		)
+	ELSE()
+	ENDIF()
+ENDIF()
+
+




More information about the Bf-blender-cvs mailing list