distributable:
  url: https://github.com/warmcat/libwebsockets/archive/v{{version}}.tar.gz
  strip-components: 1

versions:
  github: warmcat/libwebsockets/tags

dependencies:
  libuv.org: 1
  libevent.org: 2

build:
  dependencies:
    cmake.org: 3
  working-directory: build
  script:
    - cmake .. -DCMAKE_INSTALL_PREFIX="{{prefix}}" $ARGS
    - make --jobs {{ hw.concurrency }} install

    - run: |
        sed -E -i.bak \
          -e "s:{{pkgx.prefix}}:\$\{_IMPORT_PREFIX\}/../..:g" \
          -e '/^  INTERFACE_INCLUDE_DIRECTORIES/ s|/v([0-9]+)(\.[0-9]+)*[a-z]?/include|/v\1/include|g' \
          -e '/^  INTERFACE_LINK_LIBRARIES/ s|/v([0-9]+)(\.[0-9]+)*[a-z]?/lib|/v\1/lib|g' \
          LibwebsocketsTargets.cmake

        sed -E -i.bak \
          -e "s:{{pkgx.prefix}}:\$\{_IMPORT_PREFIX\}/../..:g" \
          -e '/^set\(LIBWEBSOCKETS_INCLUDE_DIRS/ s|/v([0-9]+)(\.[0-9]+)*[a-z]?/include|/v\1/include|g' \
          libwebsockets-config.cmake

        rm LibwebsocketsTargets.cmake.bak libwebsockets-config.cmake.bak
      working-directory: ${{prefix}}/lib/cmake/libwebsockets
  env:
    ARGS:
      - -DLWS_IPV6=ON
      - -DLWS_WITH_HTTP2=ON
      - -DLWS_WITH_LIBEVENT=ON
      - -DLWS_WITH_LIBUV=ON
      - -DLWS_WITH_PLUGINS=ON
      - -DLWS_WITHOUT_TESTAPPS=ON
      - -DLWS_UNIX_SOCK=ON

test:
  script: |
    cc fixture.c -lwebsockets
    ./a.out
