use gdext_gen::prelude::*;
use std::io::Result;

fn main() -> Result<()> {
  // All your variable initialization and setup goes here.
  generate_gdextension_file(
    BaseDirectory::ProjectFolder,
    Some("../rust/target".into()),
    Some("../godot/Rust.gdextension".into()),
    true,
    Some(Configuration::new(
      EntrySymbol::GodotRustDefault,
      Some((4, 1)),
      None,
      true,
      false,
    )),
    Some(WindowsABI::MSVC),
    Some(IconsConfig::new(
      DefaultNodeIcon::NodeRust(NodeRust::Ferris, "rust".into()),
      IconsCopyStrategy::new(true, true, "../godot/addons/rust".into(), false),
      None,
      IconsDirectories::new(
        "addons".into(),
        "editor".into(),
        "rust".into(),
        BaseDirectory::ProjectFolder.into(),
      ),
    )),
    None,
  )?;

  Ok(())
}
