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 )