use alienfile;
use version;

plugin 'PkgConfig' => 'raylib';

share {
    plugin Download => (
        url => 'https://github.com/raysan5/raylib/archive/'
             . '93f68fa61205c2d06ce9006eec0569133cd515ba'
             . '.tar.gz'
    );

    plugin Extract => 'tar.gz';
    plugin 'Build::CMake';

    my @CMAKE_ARGS = (
        '-DWITH_PIC=ON', '-DSHARED=ON', '-DSTATIC=ON',
        '-DBUILD_EXAMPLES=OFF', '-DBUILD_GAMES=OFF',
    );

    $^O eq 'darwin' && do { chomp(my $r = `uname -r`); version->parse($r) < v18.0.0 }
        and push @CMAKE_ARGS, '-DMACOS_FATLIB=ON';

    build [
        [ '%{cmake}', -G => '%{cmake_generator}',
          '-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON',
          '-DCMAKE_INSTALL_PREFIX:PATH=%{.install.prefix}',
          '-DCMAKE_MAKE_PROGRAM:PATH=%{make}',
          @CMAKE_ARGS, '.'],

        '%{cmake} --build .',
        '%{cmake} --build . --target install'
    ];

    plugin 'Gather::IsolateDynamic' => ();
};
