Find or download or build cmake 3
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',
];
};This Alien distribution provides an external dependency on the build tool cmake
version 3.x.x. cmake is a popular alternative to autoconf.
my @dirs = Alien::cmake3->bin_dir;List of directories that need to be added to the PATH in order for cmake to work.
my $exe = Alien::cmake3->exe;The name of the cmake executable.
%{cmake3}
The name of the cmake executable.
-
Alien::Build::Plugin::Build::CMake
Alien::Build plugin for
cmakeThis will automatically pull in Alien::cmake3 if you need it. -
This is an older distribution that provides an alienized
cmake. It is different in these ways:-
Alien::cmake3 is based on alienfile and Alien::Build
It integrates better with Aliens that are based on that technology.
-
Alien::cmake3 will provide version 3.x.x
Alien::CMake will provide 2.x.x on some platforms where more recent binaries are not available.
-
Alien::cmake3 will install on platforms where there is no system
cmakeand no binarycmakeprovided by cmake.orgIt does this by building
cmakefrom source. -
Alien::cmake3 is preferred
In the opinion of the maintainer of both Alien::cmake3 and Alien::CMake for these reasons.
-
-
ALIEN_INSTALL_TYPE
This is the normal Alien::Build environment variable and you can set it to one of
share,systemordefault. -
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.
If you do not have a system cmake version 3.x.x 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
cmakeIf you can find an older version of
cmake3.x.x that is supported by your operating system. -
Force a source code install
Set the
ALIEN_CMAKE_FROM_SOURCEenvironment 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: Graham Ollis plicease@cpan.org
Contributors:
Adriano Ferreira (FERREIRA)
Dagfinn Ilmari Mannsåker (ilmari)
This software is copyright (c) 2017-2024 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.