2024-05-15 10:16:58 +12:00
|
|
|
defmodule Scenic.Driver.Renderling.MixProject do
|
|
|
|
use Mix.Project
|
|
|
|
|
2024-05-17 13:07:05 +12:00
|
|
|
@version "0.1.0"
|
|
|
|
@description """
|
|
|
|
A Scenic driver which uses Rust's renderling crate to perform GPU-based rendering.
|
|
|
|
"""
|
|
|
|
|
2024-05-15 10:16:58 +12:00
|
|
|
def project do
|
|
|
|
[
|
|
|
|
app: :scenic_driver_renderling,
|
2024-05-17 13:07:05 +12:00
|
|
|
version: @version,
|
2024-05-15 10:16:58 +12:00
|
|
|
elixir: "~> 1.16",
|
|
|
|
start_permanent: Mix.env() == :prod,
|
2024-05-17 13:07:05 +12:00
|
|
|
package: package(),
|
|
|
|
description: @description,
|
|
|
|
deps: deps(),
|
|
|
|
elixirc_paths: elixirc_paths(Mix.env()),
|
2024-05-17 15:02:59 +12:00
|
|
|
aliases: aliases(),
|
2024-05-17 13:07:05 +12:00
|
|
|
docs: [
|
|
|
|
main: "readme",
|
|
|
|
extras: ["README.md"]
|
|
|
|
]
|
|
|
|
]
|
|
|
|
end
|
|
|
|
|
|
|
|
def package do
|
|
|
|
[
|
|
|
|
maintainers: ["James Harton <james@harton.nz>"],
|
|
|
|
licenses: ["HL3-FULL"],
|
|
|
|
links: %{
|
|
|
|
"Source" => "https://harton.dev/james/scenic_driver_renderling",
|
|
|
|
"GitHub" => "https://github.com/jimsynz/scenic_driver_renderling",
|
|
|
|
"Changelog" => "https://docs.harton.nz/james/scenic_driver_renderling/changelog.html",
|
|
|
|
"Sponsor" => "https://github.com/sponsors/jimsynz"
|
|
|
|
}
|
2024-05-15 10:16:58 +12:00
|
|
|
]
|
|
|
|
end
|
|
|
|
|
|
|
|
# Run "mix help compile.app" to learn about applications.
|
|
|
|
def application do
|
|
|
|
[
|
|
|
|
extra_applications: [:logger]
|
|
|
|
]
|
|
|
|
end
|
|
|
|
|
|
|
|
# Run "mix help deps" to learn about dependencies.
|
|
|
|
defp deps do
|
|
|
|
[
|
2024-05-15 19:33:59 +12:00
|
|
|
{:nimble_options, ">= 0.0.0"},
|
2024-05-17 13:07:05 +12:00
|
|
|
{:rustler, "~> 0.32", runtime: false},
|
|
|
|
{:scenic, "~> 0.11"},
|
|
|
|
|
|
|
|
# Dev/text
|
|
|
|
{:credo, "~> 1.6", only: ~w[dev test]a, runtime: false},
|
|
|
|
{:dialyxir, "~> 1.4", only: ~w[dev test]a, runtime: false},
|
|
|
|
{:doctor, "~> 0.21", only: ~w[dev test]a, runtime: false},
|
|
|
|
{:ex_check, "~> 0.16", only: ~w[dev test]a, runtime: false},
|
|
|
|
{:ex_doc, "~> 0.30", only: ~w[dev test]a, runtime: false},
|
|
|
|
{:earmark, "~> 1.4", only: ~w[dev test]a, runtime: false},
|
|
|
|
{:git_ops, "~> 2.4", only: ~w[dev test]a, runtime: false}
|
2024-05-15 10:16:58 +12:00
|
|
|
]
|
|
|
|
end
|
2024-05-15 19:33:59 +12:00
|
|
|
|
|
|
|
defp elixirc_paths(env) when env in [:dev, :test], do: ["lib", "test/support"]
|
|
|
|
defp elixirc_paths(_), do: ["lib"]
|
2024-05-17 15:02:59 +12:00
|
|
|
|
|
|
|
def aliases do
|
|
|
|
[clean: ["clean", &clean_rustler_artifacts/1]]
|
|
|
|
end
|
|
|
|
|
|
|
|
def clean_rustler_artifacts(_) do
|
|
|
|
__DIR__
|
|
|
|
|> Path.join("priv/native/*")
|
|
|
|
|> Path.wildcard()
|
|
|
|
|> Enum.each(&File.rm!/1)
|
|
|
|
end
|
2024-05-15 10:16:58 +12:00
|
|
|
end
|