Cycles OSL: windows build fixes.

This commit is contained in:
Brecht Van Lommel 2012-11-14 17:18:47 +00:00
parent 8c6350f926
commit 71389d4d74
4 changed files with 21 additions and 15 deletions

View File

@ -403,7 +403,7 @@ if(WITH_CYCLES OR WITH_MOD_BOOLEAN OR WITH_AUDASPACE OR WITH_INTERNATIONAL)
endif()
# auto enable llvm for cycles_osl
if(WITH_CYCLES_OSL)
if(WITH_CYCLES_OSL AND NOT WIN32)
set(WITH_LLVM ON CACHE BOOL "ON" FORCE)
endif()
@ -928,7 +928,6 @@ elseif(WIN32)
find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib)
find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib)
find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib)
# WARNING! depends on correct order of OSL libs linking
list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} ${OSL_LIB_EXEC} ${OSL_LIB_QUERY})
find_path(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include)
find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
@ -1139,7 +1138,7 @@ elseif(WIN32)
set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
set(OPENIMAGEIO_LIBRARIES OpenImageIO)
set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib)
set(OPENIMAGEIO_DEFINITIONS)
set(OPENIMAGEIO_DEFINITIONS "-DUSE_TBB=0")
endif()
if(WITH_OPENCOLORIO)
@ -1150,6 +1149,7 @@ elseif(WIN32)
set(OPENCOLORIO_DEFINITIONS)
endif()
set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcmrt.lib /NODEFAULTLIB:msvcurt.lib /NODEFAULTLIB:msvcrtd.lib")
# MSVC only, Mingw doesnt need
@ -1675,7 +1675,7 @@ if(WITH_CYCLES)
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)
if(WITH_CYCLES_OSL AND NOT WIN32)
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()

View File

@ -301,10 +301,6 @@ __device_inline float3 path_radiance_sum(KernelGlobals *kg, PathRadiance *L)
__device_inline void path_radiance_clamp(PathRadiance *L, float3 *L_sum, float clamp)
{
#ifdef __OSL__
using std::isfinite;
#endif
float sum = fabsf((*L_sum).x) + fabsf((*L_sum).y) + fabsf((*L_sum).z);
if(!isfinite(sum)) {

View File

@ -75,7 +75,7 @@ protected:
* Boost implementation is a bit slow, and Mac OS X __thread is not supported
* but the pthreads implementation is optimized, so we use these macros. */
#ifdef __APPLE__
#if defined(__APPLE__) || defined(_WIN32)
#define tls_ptr(type, name) \
pthread_key_t name
@ -90,10 +90,6 @@ protected:
#else
#ifdef __WIN32
#define __thread __declspec(thread)
#endif
#define tls_ptr(type, name) \
__thread type *name
#define tls_set(name, value) \

View File

@ -622,10 +622,10 @@ elseif(WIN32)
if(WITH_OPENIMAGEIO)
if(NOT MINGW)
set(OIIOBIN ${LIBDIR}/openimageio)
set(OIIOBIN ${LIBDIR}/openimageio/bin)
install(
FILES
${OIIOBIN}/bin/OpenImageIO.dll
${OIIOBIN}/OpenImageIO.dll
DESTINATION ${TARGETDIR}
)
endif()
@ -648,6 +648,20 @@ elseif(WIN32)
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"