Build CMake packages from Julia
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
test
.codecov.yml
.gitignore
.travis.yml
LICENSE.md
README.md
REQUIRE
appveyor.yml

README.md

CMakeWrapper

Build Status Build status codecov.io

This package provides a BinDeps.jl-compatible CMakeProcess class for automatically building CMake dependencies.

A modern version of CMake is installed using the CMake.jl package; you can use that package instead if you just want to run cmake by itself without using BinDeps.

Installation

julia> Pkg.add("CMakeWrapper")

Usage

You can declare a CMakeProcess similarly to the way you would use the Autotools provider in BinDeps.jl. In your deps/build.jl file, this would look like:

provides(Sources,
    URI(source_url),
    dependency_name)

provides(BuildProcess, CMakeProcess(),
         dependency_name)

where source_url and dependency_name are set elsewhere in your build.jl.

You can also pass raw cmake options directly with the cmake_args flag:

provides(BuildProcess, CMakeProcess(cmake_args=["-DCMAKE_BUILD_TYPE=Debug"]),
         dependency_name)

If the high-level provider doesn't work for you, you can also use the lower-level CMakeBuild, analogous to the AutotoolsDependency in BinDeps.jl:

CMakeBuild(srcdir=source_dir,  # where the CMakeLists.txt resides in your source
           builddir=build_dir,  # where the cmake build outputs should go
           prefix=install_prefix,  # desired install prefix
           libtarget=[library_name],  # name of the library being built
           installed_libpath=[path_to_intalled_library],  # expected installed library path
           cmake_args=[],  # additional cmake arguments
           targetname="install")  # build target to run (default: "install")