Current section
Files
Jump to
Current section
Files
ex_zstd_reloaded
mix.exs
mix.exs
defmodule ExZstd.MixProject do
use Mix.Project
@source_url "https://gitlab.com/chrooti/ex_zstd"
def project do
[
app: :ex_zstd,
deps: deps(Mix.env()),
elixir: "~> 1.7",
version: "0.3.1",
package: package(),
compilers: compilers(),
source_url: @source_url,
description: description(),
build_embedded: Mix.env() == :prod,
start_permanent: Mix.env() == :prod
]
end
defp deps(_),
do: [
{:ex_doc, ">= 0.0.0", only: :dev, runtime: false}
]
defp package,
do: [
name: "ex_zstd_reloaded",
files: [
"lib",
".formatter.exs",
"mix.exs",
"README.md",
"LICENSE",
"c_src",
"Makefile"
],
links: %{"Gitlab" => @source_url},
licenses: ["BSD-4-Clause"]
]
defp compilers,
do: [
:nif_ex_zstd,
:elixir,
:app
]
defp description do
"Elixir bindings to the Zstandard library"
end
end
defmodule Mix.Tasks.Compile.NifExZstd do
def run(_args) do
with {nproc, 0} <- System.cmd("nproc", []),
nproc <- nproc |> String.trim_trailing("\n"),
{_, 0} = System.cmd("make", ["-j", nproc]) do
:ok
else
_ -> :error
end
end
def clean() do
{_, 0} = System.cmd("make", ["clean"])
end
end