[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52239] trunk/blender: Cycles OSL: windows build system changes to support static OSL/OIIO.
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Nov 15 18:16:27 CET 2012
Revision: 52239
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52239
Author: blendix
Date: 2012-11-15 17:16:27 +0000 (Thu, 15 Nov 2012)
Log Message:
-----------
Cycles OSL: windows build system changes to support static OSL/OIIO.
Modified Paths:
--------------
trunk/blender/CMakeLists.txt
trunk/blender/SConstruct
trunk/blender/build_files/cmake/macros.cmake
trunk/blender/build_files/scons/config/win32-vc-config.py
trunk/blender/intern/cycles/blender/addon/osl.py
trunk/blender/intern/cycles/kernel/shaders/CMakeLists.txt
trunk/blender/source/creator/CMakeLists.txt
Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2012-11-15 17:14:29 UTC (rev 52238)
+++ trunk/blender/CMakeLists.txt 2012-11-15 17:16:27 UTC (rev 52239)
@@ -403,7 +403,7 @@
endif()
# auto enable llvm for cycles_osl
-if(WITH_CYCLES_OSL AND NOT WIN32)
+if(WITH_CYCLES_OSL)
set(WITH_LLVM ON CACHE BOOL "ON" FORCE)
endif()
@@ -942,6 +942,13 @@
endif()
endif()
+ if(WITH_LLVM)
+ set(LLVM_DIRECTORY ${LIBDIR}/llvm CACHE PATH "Path to the LLVM installation")
+ file(GLOB LLVM_LIBRARY ${LLVM_DIRECTORY}/lib/*.lib)
+ set(LLVM_STATIC YES)
+ endif()
+
+
if(MSVC)
set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid)
@@ -1675,7 +1682,7 @@
message(FATAL_ERROR "Cycles reqires WITH_BOOST, the library may not have been found. Configure BOOST or disable WITH_CYCLES")
endif()
- if(WITH_CYCLES_OSL AND NOT WIN32)
+ if(WITH_CYCLES_OSL)
if(NOT WITH_LLVM)
message(FATAL_ERROR "Cycles OSL reqires WITH_LLVM, the library may not have been found. Configure LLVM or disable WITH_CYCLES_OSL")
endif()
Modified: trunk/blender/SConstruct
===================================================================
--- trunk/blender/SConstruct 2012-11-15 17:14:29 UTC (rev 52238)
+++ trunk/blender/SConstruct 2012-11-15 17:16:27 UTC (rev 52239)
@@ -887,7 +887,9 @@
dllsources.append('${LCGDIR}/thumbhandler/lib/BlendThumb64.dll')
if env['WITH_BF_OIIO'] and env['OURPLATFORM'] != 'win32-mingw':
- dllsources.append('${LCGDIR}/openimageio/bin/OpenImageIO.dll')
+ dllpath = '${LCGDIR}/openimageio/bin/OpenImageIO.dll'
+ if os.path.exists(env.subst(dllpath)):
+ dllsources.append(dllpath)
if env['WITH_BF_OCIO']:
if not env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake 2012-11-15 17:14:29 UTC (rev 52238)
+++ trunk/blender/build_files/cmake/macros.cmake 2012-11-15 17:16:27 UTC (rev 52239)
@@ -700,7 +700,11 @@
destination)
foreach(f ${files})
- set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${base}/${f})
+ if(IS_ABSOLUTE ${f})
+ set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${f})
+ else()
+ set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_FILES ${base}/${f})
+ endif()
set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_DESTINATIONS ${destination})
endforeach()
endmacro()
Modified: trunk/blender/build_files/scons/config/win32-vc-config.py
===================================================================
--- trunk/blender/build_files/scons/config/win32-vc-config.py 2012-11-15 17:14:29 UTC (rev 52238)
+++ trunk/blender/build_files/scons/config/win32-vc-config.py 2012-11-15 17:16:27 UTC (rev 52239)
@@ -217,7 +217,7 @@
CC_WARN = []
CXX_WARN = []
-LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid']
+LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid', 'psapi']
PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', '/LARGEADDRESSAWARE', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
Modified: trunk/blender/intern/cycles/blender/addon/osl.py
===================================================================
--- trunk/blender/intern/cycles/blender/addon/osl.py 2012-11-15 17:14:29 UTC (rev 52238)
+++ trunk/blender/intern/cycles/blender/addon/osl.py 2012-11-15 17:16:27 UTC (rev 52239)
@@ -79,12 +79,13 @@
if script.is_in_memory or script.is_dirty or script.is_modified or not os.path.exists(osl_path):
# write text datablock contents to temporary file
- osl_file = tempfile.NamedTemporaryFile(mode='w', suffix=".osl", delete=True)
+ osl_file = tempfile.NamedTemporaryFile(mode='w', suffix=".osl", delete=False)
osl_file.write(script.as_string())
- osl_file.flush()
+ osl_file.close()
+
ok, oso_path = osl_compile(osl_file.name, report)
oso_file_remove = False
- osl_file.close()
+ os.remove(osl_file.name)
else:
# compile text datablock from disk directly
ok, oso_path = osl_compile(osl_path, report)
Modified: trunk/blender/intern/cycles/kernel/shaders/CMakeLists.txt
===================================================================
--- trunk/blender/intern/cycles/kernel/shaders/CMakeLists.txt 2012-11-15 17:14:29 UTC (rev 52238)
+++ trunk/blender/intern/cycles/kernel/shaders/CMakeLists.txt 2012-11-15 17:16:27 UTC (rev 52239)
@@ -89,7 +89,7 @@
list(APPEND SRC_OSO
${_OSO_FILE}
)
-
+
unset(_OSL_FILE)
unset(_OSO_FILE)
endforeach()
Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt 2012-11-15 17:14:29 UTC (rev 52238)
+++ trunk/blender/source/creator/CMakeLists.txt 2012-11-15 17:16:27 UTC (rev 52239)
@@ -621,11 +621,11 @@
)
if(WITH_OPENIMAGEIO)
- if(NOT MINGW)
- set(OIIOBIN ${LIBDIR}/openimageio/bin)
+ set(OIIODLL ${LIBDIR}/openimageio/bin/OpenImageIO.dll)
+ if(NOT MINGW AND EXISTS ${OIIODLL})
install(
FILES
- ${OIIOBIN}/OpenImageIO.dll
+ ${OIIODLL}
DESTINATION ${TARGETDIR}
)
endif()
@@ -648,20 +648,6 @@
endif()
endif()
- if(WITH_CYCLES AND WITH_CYCLES_OSL)
- if(NOT MINGW)
- set(OSLBIN ${LIBDIR}/osl/bin)
- install(
- FILES
- ${OSLBIN}/oslexec.dll
- ${OSLBIN}/oslquery.dll
- ${OSLBIN}/oslcomp.dll
- DESTINATION ${TARGETDIR}
- )
- endif()
- endif()
-
-
elseif(APPLE)
# handy install macro to exclude files, we use \$ escape for the "to"
More information about the Bf-blender-cvs
mailing list