Alien-Xmake
view release on metacpan or search on metacpan
lib/Alien/Xmake.pod view on Meta::CPAN
compiler/flag subtables C<cflags>, C<cxflags>, C<cxxflags>, C<mflags>, C<mmflags>, C<mxflags>, C<ldflags>, C<arflags>,
C<asflags>, C<shflags>, and C<cuflags>. Any C<--key=value> pair can be passed via C<set =E<gt> { key =E<gt> value }>.
=over
=item B<clean>
Reset the configuration to defaults (C<-c>).
=item B<check>
Only check the configuration and exit (C<--check>).
=item B<menu>
Open the interactive configuration menu (C<--menu>).
=item B<export>, B<import>
Export/import configuration files.
=item B<builddir>
Alternate build directory (C<-o>).
=back
=head2 C<global( %options )>
$xmake->global(network => 'y', theme => 'default');
$xmake->global(vs => '2022');
Reads/writes global (user-level) configuration. Shares the platform/toolchain options from C<configure( ... )> that
exist on C<global> (C<android_sdk>, C<build_toolver>, C<cuda>, C<emsdk>, C<mingw>, C<ndk>, C<ndk_sdkver>, C<qt>,
C<qt_host>, C<vcpkg>, C<vs>, C<wdk>).
=over
=item B<clean>
Reset global configuration to defaults (C<-c>).
=item B<check>, B<menu>
Same semantics as C<configure( ... )>.
=item B<theme>, B<debugger>, B<ccache>
Global UI/terminal settings.
=item B<cachedir>
Global cache directory.
=item B<policies>
Global policy overrides (C<--policies=>).
=item B<network>, B<proxy>, B<proxy_hosts>, B<proxy_pac>
Network settings, e.g. C<network =E<gt> 'n'> to go offline, C<insecure_ssl =E<gt> 1> to skip HTTPS verification.
=item B<pkg_searchdirs>, B<pkg_cachedir>, B<pkg_installdir>
Global package search/cache/install directories.
=back
=head2 C<install( [$target], %options )>
$xmake->install;
$xmake->install('hello', installdir => './dist');
Installs the built binaries to a staging directory (C<DESTDIR>).
=over
=item B<installdir>
The install directory (C<-o>); C<bindir>, C<libdir>, C<includedir> adjust the per-kind subdirectories.
=item B<all>
Install all targets (C<-a>).
=item B<group>
Install all targets in the group (C<-g>).
=item B<binaries>, B<headers>, B<libraries>, B<packages>
Set to C<y> or C<n> to enable or disable installing that kind of file.
=back
=head2 C<uninstall( [$target], %options )>
$xmake->uninstall;
$xmake->uninstall('hello');
Uninstalls installed binaries from the install directory. Supports C<installdir>, C<bindir>, C<libdir>, C<includedir>,
C<group> and C<admin>.
=head2 C<package( [$target], %options )>
$xmake->package; # package release artifacts
$xmake->package('hello', outputdir => './dist');
Packages the built targets into distribution archives/installers. C<outputdir> selects the destination, C<format> the
package format (C<-f>, e.g. C<deb>, C<rpm>, C<nsis>), C<all> includes dependent targets, and C<homepage>,
C<description>, C<url>, C<version> and C<shasum> fill the package metadata.
=head2 C<pack( [$pkg], %options )>
$xmake->pack('libpng', formats => ['zip', 'targz'], jobs => 4);
Bundles an installed package from the local package cache into distribution archives. C<outputdir> selects the
destination, C<formats> the archive format(s) (C<zip>, C<targz>, ...), C<basename>, C<autobuild> and C<jobs> tune the
archive name, rebuild behavior and parallelism.
=head2 C<require( [$pkg], %options )>
( run in 0.324 second using v1.01-cache-2.11-cpan-aadc1410aed )