diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 103 |
1 files changed, 96 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 7b36b3b9fd7..bbd9598780d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -190,6 +190,14 @@ option(WITH_API_INSTALL "Copy API header files into the blender install fold # Cycles option(WITH_CYCLES "Enable Cycles Render Engine" ON) +OPTION(WITH_CYCLES_OSL "Build with Open Shading Language support" OFF) +OPTION(WITH_CYCLES_CUDA "Build with CUDA support" OFF) +OPTION(WITH_CYCLES_OPENCL "Build with OpenCL support (not working)" OFF) +OPTION(WITH_CYCLES_BLENDER "Build Blender Python extension" ON) +OPTION(WITH_CYCLES_PARTIO "Build with Partio point cloud support (unfinished)" OFF) +OPTION(WITH_CYCLES_NETWORK "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_CYCLES_MULTI "Build with network rendering support (unfinished)" OFF) +OPTION(WITH_CYCLES_TEST "Build cycles test application" OFF) # disable for now, but plan to support on all platforms eventually option(WITH_MEM_JEMALLOC "Enable malloc replacement (http://www.canonware.com/jemalloc)" OFF) @@ -263,6 +271,16 @@ endif() TEST_SSE_SUPPORT() +# XXX hack +if(WITH_CYCLES) + set(WITH_OPENIMAGEIO ON) + set(WITH_BOOST ON) +endif() + +if(WITH_OPENIMAGEIO) + set(WITH_BOOST ON) +endif() + #----------------------------------------------------------------------------- # Initialize un-cached vars, avoid unused warning @@ -471,6 +489,44 @@ if(UNIX AND NOT APPLE) endif() endif() + if(WITH_BOOST) + if(CYCLES_BOOST) + set(BOOST ${CYCLES_BOOST} CACHE PATH "Boost Directory") + unset(CYCLES_BOOST CACHE) + else() + set(BOOST "/usr" CACHE PATH "Boost Directory") + endif() + + #set(Boost_ADDITIONAL_VERSIONS "1.46" "1.45" "1.44" + # "1.43" "1.43.0" "1.42" "1.42.0" + # "1.41" "1.41.0" "1.40" "1.40.0" + # "1.39" "1.39.0" "1.38" "1.38.0" + # "1.37" "1.37.0" "1.34.1" "1_34_1") + + set(BOOST_ROOT ${BOOST}) + set(Boost_USE_MULTITHREADED ON) + find_package(Boost 1.34 REQUIRED COMPONENTS filesystem regex system thread) + + set(BOOST_INCLUDE_DIR ${Boost_INCLUDE_DIRS}) + set(BOOST_LIBRARIES ${Boost_LIBRARIES}) + set(BOOST_LIBPATH ${Boost_LIBRARY_DIRS}) + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + endif() + + if(WITH_OPENIMAGEIO) + if(CYCLES_OIIO) + set(OPENIMAGEIO ${CYCLES_OIIO} CACHE PATH "OpenImageIO Directory") + unset(CYCLES_OIIO CACHE) + else() + set(OPENIMAGEIO "/usr" CACHE PATH "OpenImageIO Directory") + endif() + + set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARY OpenImageIO) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_DEFINITIONS) + endif() + # OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++") @@ -759,6 +815,24 @@ elseif(WIN32) set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") endif() + if(WITH_BOOST) + set(BOOST ${LIBDIR}/boost) + set(BOOST_INCLUDE_DIR ${BOOST}/include) + set(BOOST_POSTFIX "vc90-mt-s-1_46_1.lib") + set(BOOST_LIBRARIES libboost_date_time-${BOOST_POSTFIX} libboost_filesystem-${BOOST_POSTFIX} + libboost_regex-${BOOST_POSTFIX} libboost_system-${BOOST_POSTFIX} libboost_thread-${BOOST_POSTFIX}) + set(BOOST_LIBPATH ${BOOST}/lib) + set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB") + endif() + + if(WITH_OPENIMAGEIO) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARY OpenImageIO) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib) + set(OPENIMAGEIO_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 @@ -1064,6 +1138,22 @@ elseif(APPLE) # linker needs "-weak_framework 3DconnexionClient" endif() + if(WITH_BOOST) + set(BOOST ${LIBDIR}/boost) + set(BOOST_INCLUDE_DIR ${BOOST}/include) + set(BOOST_LIBRARIES boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt) + set(BOOST_LIBPATH ${BOOST}/lib) + set(BOOST_DEFINITIONS) + endif() + + if(WITH_OPENIMAGEIO) + set(OPENIMAGEIO ${LIBDIR}/openimageio) + set(OPENIMAGEIO_INCLUDE_DIR ${OPENIMAGEIO}/include) + set(OPENIMAGEIO_LIBRARY OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES}) + set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH}) + set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD") + endif() + set(EXETYPE MACOSX_BUNDLE) set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g") @@ -1304,6 +1394,12 @@ add_subdirectory(source) add_subdirectory(intern) add_subdirectory(extern) +#----------------------------------------------------------------------------- +# Cycles + +if(WITH_CYCLES) + add_subdirectory(intern/cycles) +endif() #----------------------------------------------------------------------------- # Blender Application @@ -1318,13 +1414,6 @@ if(WITH_PLAYER) endif() #----------------------------------------------------------------------------- -# Cycles - -if(WITH_CYCLES) - add_subdirectory(intern/cycles) -endif() - -#----------------------------------------------------------------------------- # CPack for generating packages include(build_files/cmake/packaging.cmake) |