Alien-SDL3_image

 view release on metacpan or  search on metacpan

.github/workflows/ci.yml  view on Meta::CPAN

      perl: '${{ matrix.perl }}'
      pkg: '${{ matrix.os.pkg }}'
      version: '${{ matrix.os.version }}'
  linux:
    name: 'Linux/v${{matrix.perl}}'
    needs:
      - setup
    strategy:
      fail-fast: false
      matrix:
        flags:
          - ''
          - -Dusethreads
          - -Duselongdouble
          - -Dusequadmath
        os:
          - ubuntu-22.04
        perl: '${{ fromJSON(needs.setup.outputs.matrix).perl }}'
      max-parallel: 25
    uses: sanko/actions/.github/workflows/affix-unix.yml@main
    with:
      flags: '${{ matrix.flags }}'
      os: '${{ matrix.os }}'
      perl: '${{ matrix.perl }}'
  macos:
    name: "[${{ matrix.os == 'macos-14' && 'M1' || 'Intel' }}] macOS/v${{matrix.perl}}"
    needs:
      - setup
    strategy:
      fail-fast: false
      matrix:
        exclude:
          - flags: -Dusequadmath
          - flags: -Dusethreads
        flags: '${{ fromJSON(needs.setup.outputs.matrix).flags }}'
        os:
          - macos-14
          - macos-latest
        perl: '${{ fromJSON(needs.setup.outputs.matrix).perl }}'
      max-parallel: 25
    uses: sanko/actions/.github/workflows/affix-unix.yml@main
    with:
      flags: '${{ matrix.flags }}'
      os: '${{ matrix.os }}'
      perl: '${{ matrix.perl }}'
  results:
    name: Results
    needs:
      - macos
      - win32
      - linux
    runs-on: ubuntu-22.04
    steps:

.github/workflows/ci.yml  view on Meta::CPAN

  setup:
    name: Generate Testing Matrix
    outputs:
      matrix: '${{ steps.matrix.outputs.matrix }}'
    runs-on: ubuntu-22.04
    steps:
      - env:
          DATA: |
            {
              "perl":  ["5.38.2", "5.40.0"],
              "flags": ["", "-Dusethreads", "-Duselongdouble", "-Dusequadmath"]
            }
        id: matrix
        run: "jq -rn 'env.DATA | fromjson | @json \"matrix=\\(.)\"' > $GITHUB_OUTPUT\n"
  win32:
    name: 'Windows/v${{matrix.perl}}'
    needs:
      - setup
    strategy:
      fail-fast: false
      matrix:
        exclude:
          - flags: -Duselongdouble
          - flags: -Dusequadmath
        flags:
          - -Dusethreads
          - ''
        os:
          - windows-2022
        perl: '${{ fromJSON(needs.setup.outputs.matrix).perl }}'
      max-parallel: 25
    uses: sanko/actions/.github/workflows/affix-win32.yml@main
    with:
      flags: '${{ matrix.flags }}'
      os: '${{ matrix.os }}'
      perl: '${{ matrix.perl }}'
name: CI Matrix
on:
  pull_request: ~
  push: ~
  schedule:
    - cron: 42 5 * * 0
  workflow_dispatch: ~

builder/Alien/SDL3_image/Builder.pm  view on Meta::CPAN

            else {
                say 'Building SDL3_image from source...' if $verbose;
                my $store = tempdir()->child( path($archive)->basename );
                my $build = tempdir()->child('build');
                my $okay  = $self->fetch( $archive, $store );
                die 'Failed to download SDL3_image source' unless $okay;

                #~ $self->add_to_cleanup( $okay->canonpath );
                $config{path} = 'share';
                $config{okay} = 0;
                my $cflags = '';
                require Alien::SDL3;
                {
                    $self->_do_in_dir(
                        $okay,
                        sub {
                            system( Alien::cmake3->exe, grep {length} '-S ' . $okay,
                                '-B ' . $build->canonpath,      '--install-prefix=' . $p->canonpath,
                                '-Wdeprecated -Wdev -Werror',   '-DSDL_SHARED=ON',
                                '-DSDL_TESTS=OFF',              '-DSDL_INSTALL_TESTS=OFF',
                                '-DSDL_DISABLE_INSTALL_MAN=ON', '-DSDL_VENDOR_INFO=SDL3.pm',
                                '-DCMAKE_BUILD_TYPE=Release',   '-DSDL3_DIR=' . Alien::SDL3->sdldir->child(qw[lib cmake SDL3])->absolute,
                                $cflags
                            );
                            system( Alien::cmake3->exe, '--build', $build->canonpath

                                #, '--config Release', '--parallel'
                            );
                            die "Failed to build SDL3_image! %s\n", $archive // '' if system( Alien::cmake3->exe, '--install', $build->canonpath );
                            $config{okay}    = 1;
                            $config{version} = $version;
                        }
                    );



( run in 1.590 second using v1.01-cache-2.11-cpan-140bd7fdf52 )