NAME
Alien::Build::Plugin::Build::CMake - CMake plugin for Alien::Build
VERSION
version 1.08_01
SYNOPSIS
use alienfile;
share {
plugin 'Build::CMake';
build [
# this is the default build step, if you do not specify one.
[ '%{cmake}',
@{ meta->prop->{plugin_build_cmake}->{args} },
# ... put extra cmake args here ...
'%{.install.extract}'
],
'%{make}',
'%{make} install',
];
};
DESCRIPTION
This plugin helps build alienized projects that use cmake
. The intention is to make this a core Alien::Build plugin if/when it becomes stable enough.
This plugin provides a meta property plugin_build_cmake.args
which may change over time but for the moment includes:
-G %{cmake_generator} \
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
-DCMAKE_INSTALL_PREFIX:PATH=%{.install.prefix} \
-DCMAKE_MAKE_PROGRAM:PATH=%{make}
This plugin supports out-of-source builds via the meta property out_of_source
.
METHODS
cmake_generator
Returns the cmake
generator according to your Perl's make
.
is_dmake
Returns true if your Perls make
appears to be dmake
.
HELPERS
cmake
This plugin replaces the default cmake
helper with the one that comes from Alien::cmake3.
cmake_generator
This is the appropriate cmake
generator to use based on the make used by your Perl. This is frequently Unix Makefiles
. One place where it may be different is if your Windows Perl uses nmake
, which comes with Visual C++.
make
This plugin may replace the default make
helper if the default make
is not supported by cmake
. This is most often an issue with older versions of Strawberry Perl which used dmake
. On Perls that use dmake
, this plugin will search for GNU Make in the PATH, and if it can't be found will fallback on using Alien::gmake.
SEE ALSO
AUTHOR
Author: Graham Ollis <plicease@cpan.org>
Contributors:
Diab Jerius (DJERIUS)
Roy Storey
Ilya Pavlov
David Mertens (run4flat)
Mark Nunberg (mordy, mnunberg)
Christian Walde (Mithaldu)
Brian Wightman (MidLifeXis)
Zaki Mughal (zmughal)
mohawk2
Vikas N Kumar (vikasnkumar)
Flavio Poletti (polettix)
Salvador Fandiño (salva)
Gianni Ceccarelli (dakkar)
Pavel Shaydo (zwon, trinitum)
Kang-min Liu (劉康民, gugod)
Nicholas Shipp (nshp)
Juan Julián Merelo Guervós (JJ)
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.