diff options
Diffstat (limited to 'intern/cycles/CMakeLists.txt')
-rw-r--r-- | intern/cycles/CMakeLists.txt | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt new file mode 100644 index 00000000000..d1ee5e0050d --- /dev/null +++ b/intern/cycles/CMakeLists.txt @@ -0,0 +1,84 @@ + +set(CYCLES_INSTALL_PATH "scripts/addons/cycles") +set(WITH_CYCLES_BLENDER ON) + +# External Libraries + +include(cmake/external_libs.cmake) + +# Build Flags + +if(WITH_RAYOPTIMIZATION AND SUPPORT_SSE_BUILD) + set(GCC_OPTIM_FLAGS "-ffast-math -msse -msse2 -msse3") +endif() + +if(APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_OPTIM_FLAGS}") + set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") +endif() + +if(WIN32) + if(MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox /Ot /arch:SSE2 -D_CRT_SECURE_NO_WARNINGS /EHsc /fp:fast") + set(RTTI_DISABLE_FLAGS "/GR- -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + elseif(CMAKE_COMPILER_IS_GNUCC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_OPTIM_FLAGS}") + set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") + endif() +endif() + +if(UNIX AND NOT APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_OPTIM_FLAGS}") + set(RTTI_DISABLE_FLAGS "-fno-rtti -DBOOST_NO_RTTI -DBOOST_NO_TYPEID") +endif() + +# not needed yet, is for open shading language +set(RTTI_DISABLE_FLAGS "") + +# Definitions and Includes + +add_definitions(${BOOST_DEFINITIONS} ${OPENIMAGEIO_DEFINITIONS}) + +add_definitions(-DCCL_NAMESPACE_BEGIN=namespace\ ccl\ {) +add_definitions(-DCCL_NAMESPACE_END=}) + +if(WITH_CYCLES_NETWORK) + add_definitions(-DWITH_NETWORK) +endif() + +if(WITH_CYCLES_OSL) + add_definitions(-DWITH_OSL) +endif() + +if(WITH_CYCLES_PARTIO) + add_definitions(-DWITH_PARTIO) +endif() + +if(WITH_CYCLES_CUDA_BINARIES) + add_definitions(-DWITH_CUDA_BINARIES) +endif() + +add_definitions(-DWITH_OPENCL) +add_definitions(-DWITH_CUDA) +add_definitions(-DWITH_MULTI) + +include_directories( + ${BOOST_INCLUDE_DIR} + ${OPENIMAGEIO_INCLUDE_DIRS} + ${OPENIMAGEIO_INCLUDE_DIRS}/OpenImageIO) + +# Subdirectories + +if(WITH_CYCLES_BLENDER) + add_subdirectory(blender) +endif(WITH_CYCLES_BLENDER) + +add_subdirectory(app) +add_subdirectory(bvh) +add_subdirectory(device) +add_subdirectory(doc) +add_subdirectory(kernel) +add_subdirectory(render) +add_subdirectory(subd) +add_subdirectory(util) + |