diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2016-08-21 06:38:48 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2016-08-21 06:38:48 +0300 |
commit | c5e9fabe19c8721e6c4541ee0f75bdd82accca13 (patch) | |
tree | 0b7e8bff0f3b1b210f37724d1c0a51f956cc0b30 /CMakeLists.txt | |
parent | 98dfe6f80035eae4de737ac883a48da304f67665 (diff) | |
parent | c00b2d89911e20c8ace12a9256c689e9f43cc63b (diff) |
Merge remote-tracking branch 'origin/master' into soc-2016-cycles_denoising
This was an extremely hacky merge with a lot of rebasing and git tricks involved, I hope it works as it's supposed to.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 71 |
1 files changed, 65 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 88ddebaa9f5..637a229a936 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -323,6 +323,10 @@ option(WITH_CODEC_AVI "Enable Blenders own AVI file support (raw/jpeg) option(WITH_CODEC_FFMPEG "Enable FFMPeg Support (http://ffmpeg.org)" ${_init_CODEC_FFMPEG}) option(WITH_CODEC_SNDFILE "Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)" OFF) +# Alembic support +option(WITH_ALEMBIC "Enable Alembic Support" OFF) +option(WITH_ALEMBIC_HDF5 "Enable Legacy Alembic Support (not officially supported)" OFF) + if(APPLE) option(WITH_CODEC_QUICKTIME "Enable Quicktime Support" ON) endif() @@ -393,6 +397,7 @@ option(WITH_CYCLES "Enable Cycles Render Engine" ON) option(WITH_CYCLES_STANDALONE "Build Cycles standalone application" OFF) option(WITH_CYCLES_STANDALONE_GUI "Build Cycles standalone with GUI" OFF) option(WITH_CYCLES_OSL "Build Cycles with OSL support" ${_init_CYCLES_OSL}) +option(WITH_CYCLES_OPENSUBDIV "Build Cycles with OpenSubdiv support" ON) option(WITH_CYCLES_CUDA_BINARIES "Build Cycles CUDA binaries" OFF) set(CYCLES_CUDA_BINARIES_ARCH sm_20 sm_21 sm_30 sm_35 sm_37 sm_50 sm_52 CACHE STRING "CUDA architectures to build binaries for") mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) @@ -724,6 +729,11 @@ if(WITH_OPENIMAGEIO) set(WITH_IMAGE_TIFF ON) endif() +# auto enable alembic linking dependencies +if(WITH_ALEMBIC) + set(WITH_IMAGE_OPENEXR ON) +endif() + # don't store paths to libs for portable distribution if(WITH_INSTALL_PORTABLE) set(CMAKE_SKIP_BUILD_RPATH TRUE) @@ -1095,6 +1105,20 @@ if(UNIX AND NOT APPLE) endif() endif() + if(WITH_ALEMBIC) + find_package_wrapper(Alembic) + + if(WITH_ALEMBIC_HDF5) + set(HDF5_ROOT_DIR ${LIBDIR}/hdf5) + find_package_wrapper(HDF5) + endif() + + if(NOT ALEMBIC_FOUND OR (WITH_ALEMBIC_HDF5 AND NOT HDF5_FOUND)) + set(WITH_ALEMBIC OFF) + set(WITH_ALEMBIC_HDF5 OFF) + endif() + endif() + if(WITH_BOOST) # uses in build instructions to override include and library variables if(NOT BOOST_CUSTOM) @@ -1330,10 +1354,8 @@ elseif(WIN32) # MSVC11 needs _ALLOW_KEYWORD_MACROS to build add_definitions(-D_ALLOW_KEYWORD_MACROS) - if(CMAKE_CL_64) - # We want to support Vista level ABI for x64 - add_definitions(-D_WIN32_WINNT=0x600) - endif() + # We want to support Vista level ABI + add_definitions(-D_WIN32_WINNT=0x600) # Make cmake find the msvc redistributables set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE) @@ -1664,6 +1686,14 @@ elseif(WIN32) set(OPENVDB_LIBPATH ${LIBDIR}/openvdb/lib) endif() + if(WITH_ALEMBIC) + set(ALEMBIC ${LIBDIR}/alembic) + set(ALEMBIC_INCLUDE_DIR ${ALEMBIC}/include) + set(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR}) + set(ALEMBIC_LIBPATH ${ALEMBIC}/lib) + set(ALEMBIC_LIBRARIES optimized alembic debug alembic_d) + endif() + if(WITH_MOD_CLOTH_ELTOPO) set(LAPACK ${LIBDIR}/lapack) # set(LAPACK_INCLUDE_DIR ${LAPACK}/include) @@ -1963,6 +1993,23 @@ elseif(WIN32) set(OPENVDB_DEFINITIONS) endif() + if(WITH_ALEMBIC) + # TODO(sergey): For until someone drops by and compiles libraries for + # MinGW we allow users to compile their own Alembic library and use + # that via find_package(), + # + # Once precompiled libraries are there we'll use hardcoded locations. + find_package_wrapper(Alembic) + if(WITH_ALEMBIC_HDF5) + set(HDF5_ROOT_DIR ${LIBDIR}/hdf5) + find_package_wrapper(HDF5) + endif() + if(NOT ALEMBIC_FOUND OR (WITH_ALEMBIC_HDF5 AND NOT HDF5_FOUND)) + set(WITH_ALEMBIC OFF) + set(WITH_ALEMBIC_HDF5 OFF) + endif() + endif() + set(PLATFORM_LINKFLAGS "-Xlinker --stack=2097152") ## DISABLE - causes linking errors @@ -2047,6 +2094,14 @@ elseif(APPLE) endif() endif() + if(WITH_ALEMBIC) + set(ALEMBIC ${LIBDIR}/alembic) + set(ALEMBIC_INCLUDE_DIR ${ALEMBIC}/include) + set(ALEMBIC_INCLUDE_DIRS ${ALEMBIC_INCLUDE_DIR}) + set(ALEMBIC_LIBPATH ${ALEMBIC}/lib) + set(ALEMBIC_LIBRARIES Alembic) + endif() + if(WITH_OPENSUBDIV) set(OPENSUBDIV ${LIBDIR}/opensubdiv) set(OPENSUBDIV_LIBPATH ${OPENSUBDIV}/lib) @@ -2456,6 +2511,11 @@ if(WITH_CYCLES) ) endif() endif() + + if(WITH_CYCLES_OPENSUBDIV AND NOT WITH_OPENSUBDIV) + message(STATUS "WITH_CYCLES_OPENSUBDIV requires WITH_OPENSUBDIV to be ON, turning OFF") + set(WITH_CYCLES_OPENSUBDIV OFF) + endif() endif() if(WITH_INTERNATIONAL) @@ -2508,8 +2568,6 @@ else() endif() unset(_SYSTEM_BIG_ENDIAN) endif() - - if(WITH_IMAGE_OPENJPEG) if(WITH_SYSTEM_OPENJPEG) # dealt with above @@ -3219,6 +3277,7 @@ if(FIRST_RUN) info_cfg_option(WITH_FREESTYLE) info_cfg_option(WITH_OPENCOLORIO) info_cfg_option(WITH_OPENVDB) + info_cfg_option(WITH_ALEMBIC) info_cfg_text("Compiler Options:") info_cfg_option(WITH_BUILDINFO) |