in build2cmake/src/torch/metal.rs [58:96]
fn write_cmake(
env: &Environment,
build: &Build,
torch: &Torch,
name: &str,
ops_name: &str,
file_set: &mut FileSet,
) -> Result<()> {
let mut utils_path = PathBuf::new();
utils_path.push("cmake");
utils_path.push("utils.cmake");
file_set
.entry(utils_path.clone())
.extend_from_slice(CMAKE_UTILS.as_bytes());
let mut compile_metal_path = PathBuf::new();
compile_metal_path.push("cmake");
compile_metal_path.push("compile-metal.cmake");
file_set
.entry(compile_metal_path)
.extend_from_slice(COMPILE_METAL_CMAKE.as_bytes());
let cmake_writer = file_set.entry("CMakeLists.txt");
render_preamble(env, name, cmake_writer)?;
// Add deps once we have any non-CUDA deps.
// render_deps(env, build, cmake_writer)?;
render_binding(env, torch, name, cmake_writer)?;
for (kernel_name, kernel) in &build.kernels {
render_kernel(env, kernel_name, kernel, cmake_writer)?;
}
render_extension(env, name, ops_name, cmake_writer)?;
Ok(())
}