/usr/local/CPAN/Qt/Makefile.PL
#!/usr/bin/perl
use strict;
use Config;
my ($prefix, $sitearch, $qmake) = ($Config{prefix}, $Config{sitearch});
my @cmakeArgs;
foreach my $arg (@ARGV) {
my $key = $arg;
my $value = $key;
$key =~ s/=.*//g;
$value =~ s/^[^=]*=//g;
if ($key eq 'PREFIX' or $key eq 'INSTALL_BASE') {
$prefix = $value;
$sitearch = "$prefix";
}
elsif ($key eq 'QMAKE') {
$qmake = $value;
}
else {
push @cmakeArgs, $arg;
}
}
my @args;
push @args, '.';
push @args, '-DCMAKE_BUILD_TYPE=Release';
push @args, "-DCMAKE_INSTALL_PREFIX=$prefix" if $prefix;
push @args, "-DQT_QMAKE_EXECUTABLE=$qmake" if $qmake;
push @args, "-DCUSTOM_PERL_SITE_ARCH_DIR=$sitearch" if $sitearch;
push @args, @cmakeArgs;
if ( eval "require Alien::SmokeQt" ) {
push @args, "-DSmoke_DIR=".Alien::SmokeQt->prefix()."/share/smoke/cmake";
push @args, "-DCMAKE_MODULE_PATH=".Alien::SmokeQt->prefix()."/share/smoke/cmake";
}
# Make sure we have a cmake executable
my $cmake;
foreach my $path ( split m/:/, $ENV{PATH} ) {
if ( -e "$path/cmake" ) {
$cmake = "$path/cmake";
last;
}
}
if ( !$cmake ) {
die 'You must have cmake installed to compile PerlQt4.';
}
exit system('cmake', @args);