Welcome to mirror list, hosted at ThFree Co, Russian Federation.

CMakeLists.txt « shaders « kernel « cycles « intern - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4740db27d4e38fa09e6c0efe230db8506c057235 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130

# OSL node shaders

set(SRC_OSL
	node_add_closure.osl
	node_ambient_occlusion.osl
	node_anisotropic_bsdf.osl
	node_attribute.osl
	node_background.osl
	node_bevel.osl
	node_brick_texture.osl
	node_brightness.osl
	node_bump.osl
	node_camera.osl
	node_checker_texture.osl
	node_combine_rgb.osl
	node_combine_hsv.osl
	node_combine_xyz.osl
	node_convert_from_color.osl
	node_convert_from_float.osl
	node_convert_from_int.osl
	node_convert_from_normal.osl
	node_convert_from_point.osl
	node_convert_from_vector.osl
	node_diffuse_bsdf.osl
	node_displacement.osl
	node_vector_displacement.osl
	node_emission.osl
	node_environment_texture.osl
	node_fresnel.osl
	node_gamma.osl
	node_geometry.osl
	node_glass_bsdf.osl
	node_glossy_bsdf.osl
	node_gradient_texture.osl
	node_hair_info.osl
	node_scatter_volume.osl
	node_absorption_volume.osl
	node_principled_volume.osl
	node_holdout.osl
	node_hsv.osl
	node_ies_light.osl
	node_image_texture.osl
	node_invert.osl
	node_layer_weight.osl
	node_light_falloff.osl
	node_light_path.osl
	node_magic_texture.osl
	node_mapping.osl
	node_math.osl
	node_mix.osl
	node_mix_closure.osl
	node_musgrave_texture.osl
	node_noise_texture.osl
	node_normal.osl
	node_normal_map.osl
	node_object_info.osl
	node_output_displacement.osl
	node_output_surface.osl
	node_output_volume.osl
	node_particle_info.osl
	node_refraction_bsdf.osl
	node_rgb_curves.osl
	node_rgb_ramp.osl
	node_separate_rgb.osl
	node_separate_hsv.osl
	node_separate_xyz.osl
	node_set_normal.osl
	node_sky_texture.osl
	node_subsurface_scattering.osl
	node_tangent.osl
	node_texture_coordinate.osl
	node_toon_bsdf.osl
	node_translucent_bsdf.osl
	node_transparent_bsdf.osl
	node_value.osl
	node_vector_curves.osl
	node_vector_math.osl
	node_vector_transform.osl
	node_velvet_bsdf.osl
	node_voronoi_texture.osl
	node_voxel_texture.osl
	node_wavelength.osl
	node_blackbody.osl
	node_wave_texture.osl
	node_wireframe.osl
	node_hair_bsdf.osl
	node_principled_hair_bsdf.osl
	node_uv_map.osl
	node_principled_bsdf.osl
	node_rgb_to_bw.osl
)

set(SRC_OSL_HEADERS
	node_color.h
	node_fresnel.h
	node_ramp_util.h
	node_texture.h
	stdosl.h
	oslutil.h
)

set(SRC_OSO

)

# TODO, add a module to compile OSL
foreach(_file ${SRC_OSL})
	set(_OSL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${_file})
	set_source_files_properties(${_file} PROPERTIES HEADER_FILE_ONLY TRUE)
	string(REPLACE ".osl" ".oso" _OSO_FILE ${_OSL_FILE})
	string(REPLACE ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} _OSO_FILE ${_OSO_FILE})
	add_custom_command(
		OUTPUT ${_OSO_FILE}
		COMMAND ${OSL_COMPILER} -q -O2  -I"${CMAKE_CURRENT_SOURCE_DIR}" -o ${_OSO_FILE} ${_OSL_FILE}
		DEPENDS ${_OSL_FILE} ${SRC_OSL_HEADERS} ${OSL_COMPILER})
	list(APPEND SRC_OSO
		${_OSO_FILE}
	)

	unset(_OSL_FILE)
	unset(_OSO_FILE)
endforeach()

add_custom_target(cycles_osl_shaders ALL DEPENDS ${SRC_OSO} ${SRC_OSL_HEADERS} ${OSL_COMPILER} SOURCES ${SRC_OSL})
cycles_set_solution_folder(cycles_osl_shaders)

# CMAKE_CURRENT_SOURCE_DIR is already included in OSO paths
delayed_install("" "${SRC_OSO}" ${CYCLES_INSTALL_PATH}/shader)
delayed_install("${CMAKE_CURRENT_SOURCE_DIR}" "${SRC_OSL_HEADERS}" ${CYCLES_INSTALL_PATH}/shader)