class RbSys::ExtensionTask
def define_env_tasks
def define_env_tasks task "rb_sys:env:default" do ENV["RB_SYS_CARGO_TARGET_DIR"] ||= target_directory ENV["RB_SYS_CARGO_MANIFEST_DIR"] ||= cargo_metadata.manifest_directory ENV["RB_SYS_CARGO_PROFILE"] ||= "release" end desc "Use the debug profile for building native Rust extensions" task "rb_sys:env:dev" do ENV["RB_SYS_CARGO_PROFILE"] = "dev" end desc "Use the release profile for building native Rust extensions" task "rb_sys:env:release" do ENV["RB_SYS_CARGO_PROFILE"] = "release" end file extconf => "rb_sys:env:default" desc 'Compile the native Rust extension with the "dev" profile' task "compile:dev" => ["rb_sys:env:dev", "compile"] desc 'Compile the native Rust extension with the "release" profile' task "compile:release" => ["rb_sys:env:release", "compile"] end