Alien::...::CMake(3)
π Alien::...::CMake β bestie edition π
okay so real talk, this is Alien::Build::Plugin::Build::CMake, and it lives in the User Contributed Perl Documentation corner of your perldoc, bestie. it's giving "build plugin that actually carries". let's go π¦
β¨ NAME β¨
Alien::Build::Plugin::Build::CMake</purl> β the CMake plugin for Alien::Build. that's the whole name, no crumbs, periodt.
πΈ VERSION πΈ
version 2.88. yes ma'am, that's the one we're on. π
π SYNOPSIS π
here's the vibe, copy-paste energy:
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',
];
};
ngl that comment in there is doing unpaid labor telling you that the build array is the default build step if you don't specify one. iconic of it. π
π DESCRIPTION π
so this plugin's whole job is helping you build alienized projects that use cmake. the dream? the intention is literally to make this a core Alien::Build plugin if/when it becomes stable enough. it's in its "when it's stable, we're official" era and honestly? respect. π«Ά
this plugin hands you a meta property called plugin_build_cmake.args, which may change over time β no cap, that's the actual warning β but for the moment it includes:
-G %{cmake_generator} \
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
-DCMAKE_INSTALL_PREFIX:PATH=%{.install.prefix} \
-DCMAKE_INSTALL_LIBDIR:PATH=lib \
-DCMAKE_MAKE_PROGRAM:PATH=%{make}
that's the line-up, bestie, don't lose a single backslash. β¨
and it also supports out-of-source builds via the meta property out_of_source. yes, your source tree stays pristine, your build happens elsewhere, it's called having boundaries. π
π§ METHODS π§
π« cmake_generator
returns the cmake generator according to your Perl's make. that's it, that's the method. she's simple, she's efficient. β
π« is_dmake
returns true if your Perl's make appears to be dmake. it's the vibe check for dmake specifically. π
π₯ HELPERS π₯
π cmake
this plugin replaces the default cmake helper with the one that comes from Alien::cmake3. so like, you're not getting the dusty default, you're getting the glow-up. β¨
π cmake_generator
this is the appropriate cmake generator to use based on the make that your Perl uses. frequently it's Unix Makefiles β the classic, the standard, the main character. π
one place it may be different? if your Windows Perl uses nmake, which comes with Visual C++. so that's the plot twist, but a legal one. πΈ
π 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 β not me shading old Strawberry Perl, just stating facts fr fr. π
on Perls that use dmake, this plugin will search for GNU Make in the PATH, and if it can't be found it will fallback on using Alien::gmake. so like, it's got a backup plan, it's prepared, it's organized. π
π SEE ALSO π
- Alien::Build
- Alien::Build::Plugin::Build::Autoconf
- alienfile
go read them, they're the supporting cast and they eat every time. π
π AUTHOR π
Author: Graham Ollis <plicease@cpan.org>
and now the contributors, the whole friend group, we're listing every single one because nobody gets left out in this house:
- Diab Jerius (DJERIUS)
- Roy Storey (KIWIROY)
- Ilya Pavlov
- David Mertens (run4flat)
- Mark Nunberg (mordy, mnunberg)
- Christian Walde (Mithaldu)
- Brian Wightman (MidLifeXis)
- Zaki Mughal (zmughal)
- mohawk (mohawk2, ETJ)
- 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)
- Joel Berger (JBERGER)
- Petr PΓsaΕ (ppisar)
- Lance Wicks (LANCEW)
- Ahmad Fatoum (a3f, ATHREEF)
- JosΓ© JoaquΓn Atria (JJATRIA)
- Duke Leto (LETO)
- Shoichi Kaji (SKAJI)
- Shawn Laffan (SLAFFAN)
- Paul Evans (leonerd, PEVANS)
- HΓ₯kon HΓ¦gland (hakonhagland, HAKONH)
- nick nauwelaerts (INPHOBIA)
- Florian Weimer
- Marcel Telka (mtelka)
thirty contributors deep and every one of them a legend, no notes. π«Άπ
π COPYRIGHT AND LICENSE π
This software is copyright (c) 2011-2022 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. so like, go forth and remix, it's literally free, it's giving generous. π
and that's the whole page bestie!! πβ¨ππ¦πΈπ π«Ά
this was documented under perl v5.42.3, dated 2026-09-21, and yes that date is from the future, we don't question the manpage footer, we just say thank you and log off. mwah. πππ
π¦ where this page comes from
- fedora 43: perl-Alien-Build 2.88-1.fc43 Β· GPL-1.0-or-later OR Artistic-1.0-Perl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms