Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
| Show First 20 Lines • Show All 407 Lines • ▼ Show 20 Lines | |||||
| option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF) | option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF) | ||||
| mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL) | mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL) | ||||
| set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 CACHE STRING "CUDA architectures to build binaries for") | set(CYCLES_CUDA_BINARIES_ARCH sm_30 sm_35 sm_37 sm_50 sm_52 sm_60 sm_61 sm_70 sm_75 CACHE STRING "CUDA architectures to build binaries for") | ||||
| mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) | mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) | ||||
| unset(PLATFORM_DEFAULT) | unset(PLATFORM_DEFAULT) | ||||
| option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON) | option(WITH_CYCLES_LOGGING "Build Cycles with logging support" ON) | ||||
| option(WITH_CYCLES_DEBUG "Build Cycles with extra debug capabilities" OFF) | option(WITH_CYCLES_DEBUG "Build Cycles with extra debug capabilities" OFF) | ||||
| option(WITH_CYCLES_NATIVE_ONLY "Build Cycles with native kernel only (which fits current CPU, use for development only)" OFF) | option(WITH_CYCLES_NATIVE_ONLY "Build Cycles with native kernel only (which fits current CPU, use for development only)" OFF) | ||||
| option(WITH_CYCLES_KERNEL_ASAN "Build Cycles kernels with address sanitizer when WITH_COMPILER_ASAN is on, even if it's very slow" OFF) | |||||
| mark_as_advanced(WITH_CYCLES_KERNEL_ASAN) | |||||
| mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER) | mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER) | ||||
| mark_as_advanced(WITH_CYCLES_LOGGING) | mark_as_advanced(WITH_CYCLES_LOGGING) | ||||
| mark_as_advanced(WITH_CYCLES_DEBUG) | mark_as_advanced(WITH_CYCLES_DEBUG) | ||||
| mark_as_advanced(WITH_CYCLES_NATIVE_ONLY) | mark_as_advanced(WITH_CYCLES_NATIVE_ONLY) | ||||
| option(WITH_CYCLES_DEVICE_CUDA "Enable Cycles CUDA compute support" ON) | option(WITH_CYCLES_DEVICE_CUDA "Enable Cycles CUDA compute support" ON) | ||||
| option(WITH_CYCLES_DEVICE_OPENCL "Enable Cycles OpenCL compute support" ON) | option(WITH_CYCLES_DEVICE_OPENCL "Enable Cycles OpenCL compute support" ON) | ||||
| option(WITH_CYCLES_NETWORK "Enable Cycles compute over network support (EXPERIMENTAL and unfinished)" OFF) | option(WITH_CYCLES_NETWORK "Enable Cycles compute over network support (EXPERIMENTAL and unfinished)" OFF) | ||||
| ▲ Show 20 Lines • Show All 393 Lines • ▼ Show 20 Lines | |||||
| if(NOT CMAKE_BUILD_TYPE MATCHES "Release") | if(NOT CMAKE_BUILD_TYPE MATCHES "Release") | ||||
| if(WITH_COMPILER_ASAN) | if(WITH_COMPILER_ASAN) | ||||
| set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMPILER_ASAN_CFLAGS}") | set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${COMPILER_ASAN_CFLAGS}") | ||||
| set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CFLAGS}") | set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CFLAGS}") | ||||
| set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMPILER_ASAN_CXXFLAGS}") | set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${COMPILER_ASAN_CXXFLAGS}") | ||||
| set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CXXFLAGS}") | set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMPILER_ASAN_CXXFLAGS}") | ||||
| if(WITH_CYCLES_OSL) | |||||
| # With OSL, Cycles disables rtti in some modules, which then breaks at linking | |||||
| # when trying to use vptr sanitizer (included into 'undefined' general option). | |||||
| set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-sanitize=vptr") | |||||
| set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-sanitize=vptr") | |||||
| endif() | |||||
| if(MSVC) | if(MSVC) | ||||
| set(COMPILER_ASAN_LINKER_FLAGS "/FUNCTIONPADMIN:6") | set(COMPILER_ASAN_LINKER_FLAGS "/FUNCTIONPADMIN:6") | ||||
| endif() | endif() | ||||
| set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS};${COMPILER_ASAN_LIBRARY}") | set(PLATFORM_LINKLIBS "${PLATFORM_LINKLIBS};${COMPILER_ASAN_LIBRARY}") | ||||
| set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") | set(PLATFORM_LINKFLAGS "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") | ||||
| set(PLATFORM_LINKFLAGS_DEBUG "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") | set(PLATFORM_LINKFLAGS_DEBUG "${COMPILER_ASAN_LIBRARY} ${COMPILER_ASAN_LINKER_FLAGS}") | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| ▲ Show 20 Lines • Show All 999 Lines • Show Last 20 Lines | |||||