Skip to content

Find or download or build cmake 3 or better

Notifications You must be signed in to change notification settings

PerlAlien/Alien-cmake3

Repository files navigation

Alien::cmake3 static linux windows macos

Find or download or build cmake 3 or better

SYNOPSIS

From Perl:

use Alien::cmake3;
use Env qw( @PATH );

unshift @PATH, Alien::cmake3->bin_dir;
system 'cmake', ...;

From alienfile

use alienfile;

share {
  # Build::CMake plugin pulls in Alien::cmake3 automatically
  plugin 'Build::CMake';
  build [
    # this is the default build step, if you do not specify one.
    [ '%{cmake3}', -G => '%{cmake_generator}', '-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true', '-DCMAKE_INSTALL_PREFIX:PATH=%{.install.prefix}', '.' ],
    '%{make}',
    '%{make} install',
  ];
};

DESCRIPTION

This Alien distribution provides an external dependency on the build tool cmake version 3.0.0 or better. cmake is a popular alternative to autoconf.

METHODS

bin_dir

my @dirs = Alien::cmake3->bin_dir;

List of directories that need to be added to the PATH in order for cmake to work.

exe

my $exe = Alien::cmake3->exe;

The name of the cmake executable.

HELPERS

cmake3

%{cmake3}

The name of the cmake executable.

SEE ALSO

ENVIRONMENT

  • ALIEN_INSTALL_TYPE

    This is the normal Alien::Build environment variable and you can set it to one of share, system or default.

  • ALIEN_CMAKE_FROM_SOURCE

    If set to true, and if a share install is attempted, Alien::cmake3 will not try a binary share install (even if available), and instead a source share install.

CAVEATS

If you do not have a system cmake of at least 3.0.0 available, then a share install will be attempted.

Binary share installs are attempted on platforms for which the latest version of cmake are provided. As of this writing, this includes: Windows (32/64 bit), macOS (intel/arm universal) and Linux (intel/arm 64 bit). No checks are made to ensure that your platform is supported by this binary installs. Typically the same versions supported by the operating system vendor and supported by cmake, so that should not be a problem. If you are using an operating system not supported by its vendor Please Stop That, this is almost certainly a security vulnerability.

That said if you really do need Alien::cmake3 on an unsupported system, you have some options:

  • Install system version of cmake

    If you can find an older version better than 3.0.0 that is supported by your operating system.

  • Force a source code install

    Set the ALIEN_CMAKE_FROM_SOURCE environment variable to a true value to build a share install from source.

Source share installs are attempted on platforms for which the latest version of cmake are not available, like the various flavours of *BSD. This may not be ideal, and if you can install a system version of cmake it may work better.

AUTHOR

Author: Graham Ollis plicease@cpan.org

Contributors:

Adriano Ferreira (FERREIRA)

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

About

Find or download or build cmake 3 or better

Resources

Stars

Watchers

Forks

Packages

No packages published