Alien-Xmake-Project
view release on metacpan or search on metacpan
lib/Alien/Xmake/Project.pm view on Meta::CPAN
method check_cxxincludes (@a) { $self->_check( 'check_cxxincludes', @a ); }
method check_csnippets (@a) { $self->_check( 'check_csnippets', @a ); }
method check_cxxsnippets (@a) { $self->_check( 'check_cxxsnippets', @a ); }
method check_features (@a) { $self->_check( 'check_features', @a ); }
method check_macros (@a) { $self->_check( 'check_macros', @a ); }
method check_sizeof (@a) { $self->_check( 'check_sizeof', @a ); }
method check_alignof (@a) { $self->_check( 'check_alignof', @a ); }
method check_bigendian (@a) { $self->_check( 'check_bigendian', @a ); }
method check_cflags (@a) { $self->_check( 'check_cflags', @a ); }
method check_cxxflags (@a) { $self->_check( 'check_cxxflags', @a ); }
method configvar_check_links (@a) { $self->_check( 'configvar_check_links', @a ); }
method configvar_check_syslinks (@a) { $self->_check( 'configvar_check_syslinks', @a ); }
method configvar_check_ctypes (@a) { $self->_check( 'configvar_check_ctypes', @a ); }
method configvar_check_cxxtypes (@a) { $self->_check( 'configvar_check_cxxtypes', @a ); }
method configvar_check_cfuncs (@a) { $self->_check( 'configvar_check_cfuncs', @a ); }
method configvar_check_cxxfuncs (@a) { $self->_check( 'configvar_check_cxxfuncs', @a ); }
method configvar_check_cincludes (@a) { $self->_check( 'configvar_check_cincludes', @a ); }
method configvar_check_cxxincludes (@a) { $self->_check( 'configvar_check_cxxincludes', @a ); }
method configvar_check_csnippets (@a) { $self->_check( 'configvar_check_csnippets', @a ); }
method configvar_check_cxxsnippets (@a) { $self->_check( 'configvar_check_cxxsnippets', @a ); }
method configvar_check_features (@a) { $self->_check( 'configvar_check_features', @a ); }
method configvar_check_macros (@a) { $self->_check( 'configvar_check_macros', @a ); }
method configvar_check_sizeof (@a) { $self->_check( 'configvar_check_sizeof', @a ); }
method configvar_check_alignof (@a) { $self->_check( 'configvar_check_alignof', @a ); }
method configvar_check_bigendian (@a) { $self->_check( 'configvar_check_bigendian', @a ); }
method configvar_check_cflags (@a) { $self->_check( 'configvar_check_cflags', @a ); }
method configvar_check_cxxflags (@a) { $self->_check( 'configvar_check_cxxflags', @a ); }
# run / prepare hooks (raw Lua)
method on_load (@a) { $self->_hook( 'on_load', @a ); }
method on_config (@a) { $self->_hook( 'on_config', @a ); }
method on_build (@a) { $self->_hook( 'on_build', @a ); }
method on_build_file (@a) { $self->_hook( 'on_build_file', @a ); }
method before_build (@a) { $self->_hook( 'before_build', @a ); }
method after_build (@a) { $self->_hook( 'after_build', @a ); }
method on_link (@a) { $self->_hook( 'on_link', @a ); }
method before_link (@a) { $self->_hook( 'before_link', @a ); }
method after_link (@a) { $self->_hook( 'after_link', @a ); }
method on_clean (@a) { $self->_hook( 'on_clean', @a ); }
method before_clean (@a) { $self->_hook( 'before_clean', @a ); }
method after_clean (@a) { $self->_hook( 'after_clean', @a ); }
method on_install (@a) { $self->_hook( 'on_install', @a ); }
method before_install (@a) { $self->_hook( 'before_install', @a ); }
method after_install (@a) { $self->_hook( 'after_install', @a ); }
method on_uninstall(@a) { $self->_hook( 'on_uninstall', @a ); }
method before_uninstall(@a) { $self->_hook( 'before_uninstall', @a ); }
method after_uninstall (@a) { $self->_hook( 'after_uninstall', @a ); }
method on_run (@a) { $self->_hook( 'on_run', @a ); }
method before_run (@a) { $self->_hook( 'before_run', @a ); }
method after_run (@a) { $self->_hook( 'after_run', @a ); }
method on_prepare (@a) { $self->_hook( 'on_prepare', @a ); }
method on_prepare_file (@a) { $self->_hook( 'on_prepare_file', @a ); }
method on_prepare_files (@a) { $self->_hook( 'on_prepare_files', @a ); }
method before_prepare (@a) { $self->_hook( 'before_prepare', @a ); }
method after_prepare (@a) { $self->_hook( 'after_prepare', @a ); }
method before_prepare_file (@a) { $self->_hook( 'before_prepare_file', @a ); }
method after_prepare_file (@a) { $self->_hook( 'after_prepare_file', @a ); }
method before_prepare_files (@a) { $self->_hook( 'before_prepare_files', @a ); }
method after_prepare_files (@a) { $self->_hook( 'after_prepare_files', @a ); }
# raw Lua escape hatch
method lua (@lines) {
push @$lines, map { ref($_) eq 'ARRAY' ? @$_ : $_ } @lines;
$self;
}
};
#
class Alien::Xmake::Project::Namespace v1.0.0 {
field $_project : param;
field $_name : param : reader(name);
field $_body : param = [];
method render {
my @out = ( 'namespace("' . $_name . '")' );
for my $b (@$_body) {
if ( ref($b) eq 'CODE' ) {
my $r = $b->($_project);
push @out, map {" $_"} ref($r) eq 'ARRAY' ? @$r : ($r);
}
else {
push @out, map {" $_"} ref($b) eq 'ARRAY' ? @$b : ($b);
}
}
push @out, 'namespace_end()';
return \@out;
}
};
#
class Alien::Xmake::Project::Option v1.0.0 {
field $_name : param : reader(name);
field $_body : param = [];
field $_inline : param = undef;
field $lines : reader = [];
method _line ( $name, @args ) {
die "option \"$_name\" declared inline (table form) can't be extended with set_* calls\n" if defined $_inline;
push @$lines, " " . Alien::Xmake::Project::Util::_stmt( $name, @args );
$self;
}
method _hook ( $name, @args ) {
die "option \"$_name\" declared inline (table form) can't add hooks\n" if defined $_inline;
push @$lines, " $name(" . Alien::Xmake::Project::Util::_lua_script(@args) . ")";
$self;
}
method set_default (@a) { $self->_line( 'set_default', @a ); }
method set_values (@a) { $self->_line( 'set_values', @a ); }
method set_showmenu (@a) { $self->_line( 'set_showmenu', @a ); }
method set_category (@a) { $self->_line( 'set_category', @a ); }
method set_description (@a) { $self->_line( 'set_description', @a ); }
method add_deps (@a) { $self->_line( 'add_deps', @a ); }
method add_links (@a) { $self->_line( 'add_links', @a ); }
method add_linkdirs (@a) { $self->_line( 'add_linkdirs', @a ); }
method add_rpathdirs (@a) { $self->_line( 'add_rpathdirs', @a ); }
method add_cincludes (@a) { $self->_line( 'add_cincludes', @a ); }
method add_cxxincludes (@a) { $self->_line( 'add_cxxincludes', @a ); }
method add_ctypes (@a) { $self->_line( 'add_ctypes', @a ); }
method add_cxxtypes (@a) { $self->_line( 'add_cxxtypes', @a ); }
method add_csnippets (@a) { $self->_line( 'add_csnippets', @a ); }
method add_cxxsnippets (@a) { $self->_line( 'add_cxxsnippets', @a ); }
method add_cfuncs (@a) { $self->_line( 'add_cfuncs', @a ); }
( run in 1.499 second using v1.01-cache-2.11-cpan-54e63673c56 )