diff options
Diffstat (limited to 'intern/cycles/kernel/CMakeLists.txt')
-rw-r--r-- | intern/cycles/kernel/CMakeLists.txt | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt new file mode 100644 index 00000000000..30b618eb1ad --- /dev/null +++ b/intern/cycles/kernel/CMakeLists.txt @@ -0,0 +1,104 @@ + +SET(sources + kernel.cpp + kernel.cl + kernel.cu) + +SET(headers + kernel.h + kernel_bvh.h + kernel_camera.h + kernel_compat_cpu.h + kernel_compat_cuda.h + kernel_compat_opencl.h + kernel_differential.h + kernel_displace.h + kernel_emission.h + kernel_film.h + kernel_globals.h + kernel_light.h + kernel_math.h + kernel_mbvh.h + kernel_montecarlo.h + kernel_object.h + kernel_path.h + kernel_qbvh.h + kernel_random.h + kernel_shader.h + kernel_triangle.h + kernel_types.h + svm/bsdf.h + svm/bsdf_ashikhmin_velvet.h + svm/bsdf_diffuse.h + svm/bsdf_microfacet.h + svm/bsdf_reflection.h + svm/bsdf_refraction.h + svm/bsdf_transparent.h + svm/bsdf_ward.h + svm/bsdf_westin.h + svm/emissive.h + svm/svm.h + svm/svm_attribute.h + svm/svm_blend.h + svm/svm_bsdf.h + svm/svm_closure.h + svm/svm_clouds.h + svm/svm_convert.h + svm/svm_displace.h + svm/svm_distorted_noise.h + svm/svm_fresnel.h + svm/svm_geometry.h + svm/svm_image.h + svm/svm_light_path.h + svm/svm_magic.h + svm/svm_mapping.h + svm/svm_marble.h + svm/svm_math.h + svm/svm_mix.h + svm/svm_musgrave.h + svm/svm_noise.h + svm/svm_noisetex.h + svm/svm_sky.h + svm/svm_stucci.h + svm/svm_tex_coord.h + svm/svm_texture.h + svm/svm_types.h + svm/svm_value.h + svm/svm_voronoi.h + svm/svm_wood.h + svm/volume.h + ) + +# CUDA module + +IF(WITH_CUDA) + SET(cuda_sources kernel.cu ${headers}) + SET(cuda_cubins) + + FOREACH(arch ${CUDA_ARCH}) + SET(cuda_cubin kernel_${arch}.cubin) + + ADD_CUSTOM_COMMAND( + OUTPUT ${cuda_cubin} + COMMAND ${CUDA_NVCC} -arch=${arch} -m64 --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu --use_fast_math -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=${CUDA_MAXREG} --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= + DEPENDS ${cuda_sources}) + + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} DESTINATION ${INSTALL_PATH}/cycles/lib) + LIST(APPEND cuda_cubins ${cuda_cubin}) + ENDFOREACH() + + ADD_CUSTOM_TARGET(kernel_cuda ALL DEPENDS ${cuda_cubins}) +ENDIF(WITH_CUDA) + +# OSL module + +IF(WITH_OSL) + ADD_SUBDIRECTORY(osl) +ENDIF(WITH_OSL) + +# CPU module + +INCLUDE_DIRECTORIES(. ../util osl svm) + +ADD_LIBRARY(kernel ${sources} ${headers}) + |