1Alien::cmake3(3) User Contributed Perl Documentation Alien::cmake3(3)
2
3
4
6 Alien::cmake3 - Find or download or build cmake 3 or better
7
9 version 0.08
10
12 From Perl:
13
14 use Alien::cmake3;
15 use Env qw( @PATH );
16
17 unshift @PATH, Alien::cmake3->bin_dir;
18 system 'cmake', ...;
19
20 From alienfile
21
22 use alienfile;
23
24 share {
25 # Build::CMake plugin pulls in Alien::cmake3 automatically
26 plugin 'Build::CMake';
27 build [
28 # this is the default build step, if you do not specify one.
29 [ '%{cmake3}', -G => '%{cmake_generator}', '-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true', '-DCMAKE_INSTALL_PREFIX:PATH=%{.install.prefix}', '.' ],
30 '%{make}',
31 '%{make} install',
32 ];
33 };
34
36 This Alien distribution provides an external dependency on the build
37 tool "cmake" version 3.0.0 or better. "cmake" is a popular alternative
38 to autoconf.
39
41 bin_dir
42 my @dirs = Alien::cmake3->bin_dir;
43
44 List of directories that need to be added to the "PATH" in order for
45 "cmake" to work.
46
47 exe
48 my $exe = Alien::cmake3->exe;
49
50 The name of the "cmake" executable.
51
53 cmake3
54 %{cmake3}
55
56 The name of the "cmake" executable.
57
59 Alien::Build::Plugin::Build::CMake
60 Alien::Build plugin for "cmake" This will automatically pull in
61 Alien::cmake3 if you need it.
62
63 Alien::CMake
64 This is an older distribution that provides an alienized "cmake".
65 It is different in these ways:
66
67 Alien::cmake3 is based on alienfile and Alien::Build
68 It integrates better with Aliens that are based on that
69 technology.
70
71 Alien::cmake3 will provide version 3.0.0 or better
72 Alien::CMake will provide 2.x.x on some platforms where more
73 recent binaries are not available.
74
75 Alien::cmake3 will install on platforms where there is no system
76 "cmake" and no binary "cmake" provided by cmake.org
77 It does this by building "cmake" from source.
78
79 Alien::cmake3 is preferred
80 In the opinion of the maintainer of both Alien::cmake3 and
81 Alien::CMake for these reasons.
82
84 ALIEN_INSTALL_TYPE
85 This is the normal Alien::Build environment variable and you can
86 set it to one of "share", "system" or "default".
87
88 ALIEN_CMAKE_FROM_SOURCE
89 If set to true, and if a share install is attempted, Alien::cmake3
90 will not try a binary share install (even if available), and
91 instead a source share install.
92
94 If you do not have a system "cmake" of at least 3.0.0 available, then a
95 share install will be attempted.
96
97 Binary share installs are attempted on platforms for which the latest
98 version of "cmake" are provided. As of this writing, this includes:
99 Windows (32/64 bit), macOS (intel/arm universal) and Linux (intel/arm
100 64 bit). No checks are made to ensure that your platform is supported
101 by this binary installs. Typically the same versions supported by the
102 operating system vendor and supported by "cmake", so that should not be
103 a problem. If you are using an operating system not supported by its
104 vendor Please Stop That, this is almost certainly a security
105 vulnerability.
106
107 That said if you really do need Alien::cmake3 on an unsupported system,
108 you have some options:
109
110 Install system version of "cmake"
111 If you can find an older version better than 3.0.0 that is
112 supported by your operating system.
113
114 Force a source code install
115 Set the "ALIEN_CMAKE_FROM_SOURCE" environment variable to a true
116 value to build a share install from source.
117
118 Source share installs are attempted on platforms for which the latest
119 version of "cmake" are not available, like the various flavours of
120 *BSD. This may not be ideal, and if you can install a system version
121 of "cmake" it may work better.
122
124 Author: Graham Ollis <plicease@cpan.org>
125
126 Contributors:
127
128 Adriano Ferreira (FERREIRA)
129
131 This software is copyright (c) 2017 by Graham Ollis.
132
133 This is free software; you can redistribute it and/or modify it under
134 the same terms as the Perl 5 programming language system itself.
135
136
137
138perl v5.36.0 2022-07-22 Alien::cmake3(3)