View Source mix compile.cmake (mix_cmake v0.1.5)
Runs cmake in the current project.
It will skip execution cmake if the build directory exists.
You can invoke mix cmake --config instead, if you want to cmake again.
Configuration
This compiler can be configured through the return value of the project/0
function in mix.exs; for example:
def project() do
[
app: :myapp,
deps: deps(),
compilers: [:cmake] ++ Mix.compilers,
cmake: [
build_dir: :local,
build_parallel_level: 4
]
]
end:build_dir- working directory {:local, :global, any_directory}:source_dir- source directory:generator- specify generator:build_parallel_level- parallel jobs level
Default environment variables
There are several default environment variables set:
MIX_TARGET=> env("MIX_TARGET", "host")MIX_ENV=> to_string(Mix.env())MIX_BUILD_PATH=> Mix.Project.build_path()MIX_APP_PATH=> Mix.Project.app_path()MIX_COMPILE_PATH=> Mix.Project.compile_path()MIX_CONSOLIDATION_PATH=> Mix.Project.consolidation_path()MIX_DEPS_PATH=> Mix.Project.deps_path()MIX_MANIFEST_PATH=> Mix.Project.manifest_path()ERL_EI_LIBDIR=> env("ERL_EI_LIBDIR", erl_ei_lib_dir)ERL_EI_INCLUDE_DIR=> env("ERL_EI_INCLUDE_DIR", erl_ei_include_dir)ERTS_INCLUDE_DIR=> env("ERTS_INCLUDE_DIR", erts_include_dir)ERL_INTERFACE_LIB_DIR=> env("ERL_INTERFACE_LIB_DIR", erl_ei_lib_dir)ERL_INTERFACE_INCLUDE_DIR=> env("ERL_INTERFACE_INCLUDE_DIR", erl_ei_include_dir)