From 1c0e70dc702dfd9dd14c43992e3146e7cae0a20b Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Thu, 30 May 2024 19:01:41 +0300 Subject: [PATCH] added github autobuild files --- .github/workflows/build_freebsd.yml | 38 +++++++++++++++ .github/workflows/build_gnulinux.yml | 73 ++++++++++++++++++++++++++++ .github/workflows/build_macosx.yml | 71 +++++++++++++++++++++++++++ Makefile.in | 5 ++ 4 files changed, 187 insertions(+) create mode 100644 .github/workflows/build_freebsd.yml create mode 100644 .github/workflows/build_gnulinux.yml create mode 100644 .github/workflows/build_macosx.yml diff --git a/.github/workflows/build_freebsd.yml b/.github/workflows/build_freebsd.yml new file mode 100644 index 0000000..83eb972 --- /dev/null +++ b/.github/workflows/build_freebsd.yml @@ -0,0 +1,38 @@ +name: FreeBSD build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v4 + + - name: FreeBSD build + uses: vmactions/freebsd-vm@v1 + with: + prepare: | + pkg install -y gmake libX11 mesa-libs + + run: | + ./configure + gmake + gmake DESTDIR=libspnav-freebsd install + gmake examples + mkdir libspnav-freebsd/examples + cp examples/simple/simple_af_unix libspnav-freebsd/examples + cp examples/simple/simple_x11 libspnav-freebsd/examples + cp examples/cube/cube libspnav-freebsd/examples + cp examples/fly/fly libspnav-freebsd/examples + + - uses: actions/upload-artifact@v4 + with: + name: spacenavd-freebsd + path: spacenavd-freebsd + +# vi:ts=2 sts=2 sw=2 expandtab: diff --git a/.github/workflows/build_gnulinux.yml b/.github/workflows/build_gnulinux.yml new file mode 100644 index 0000000..34df557 --- /dev/null +++ b/.github/workflows/build_gnulinux.yml @@ -0,0 +1,73 @@ +name: GNU/Linux build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: install dependencies + run: | + sudo apt-get update + sudo apt-get install libx11-dev libgl1-mesa-dev libglu1-mesa-dev + + - name: configure + run: ./configure + + - name: build + run: make + + - name: build examples + run: make examples + + - name: stage install + run: | + DESTDIR=libspnav-gnulinux make install + mkdir libspnav-gnulinux/examples + cp examples/simple/simple_af_unix libspnav-gnulinux/examples + cp examples/simple/simple_x11 libspnav-gnulinux/examples + cp examples/cube/cube libspnav-gnulinux/examples + cp examples/fly/fly libspnav-gnulinux/examples + + - uses: actions/upload-artifact@v4 + with: + name: libspnav-gnulinux + path: libspnav-gnulinux + + build-nox11: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: configure + run: ./configure --disable-x11 + + - name: build + run: make + + - name: build examples + run: make examples + + - name: stage install + run: | + DESTDIR=libspnav-gnulinux-nox11 make install + mkdir libspnav-gnulinux-nox11/examples + cp examples/simple/simple_af_unix libspnav-gnulinux-nox11/examples + cp examples/fly/fly libspnav-gnulinux-nox11/examples + + - uses: actions/upload-artifact@v4 + with: + name: libspnav-gnulinux-nox11 + path: libspnav-gnulinux-nox11 + + +# vi:ts=2 sts=2 sw=2 expandtab: diff --git a/.github/workflows/build_macosx.yml b/.github/workflows/build_macosx.yml new file mode 100644 index 0000000..1455c08 --- /dev/null +++ b/.github/workflows/build_macosx.yml @@ -0,0 +1,71 @@ +name: MacOS X build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - name: install dependencies + run: | + brew install libx11 mesa + + - name: configure + run: ./configure + + - name: build + run: make + + - name: build examples + run: make examples + + - name: stage install + run: | + DESTDIR=libspnav-macosx make install + mkdir libspnav-macosx/examples + cp examples/simple/simple_af_unix libspnav-macosx/examples + cp examples/simple/simple_x11 libspnav-macosx/examples + cp examples/cube/cube libspnav-macosx/examples + cp examples/fly/fly libspnav-macosx/examples + + - uses: actions/upload-artifact@v4 + with: + name: libspnav-macosx + path: libspnav-macosx + + build-nox11: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + + - name: configure + run: ./configure --disable-x11 + + - name: build + run: make + + - name: build examples + run: make examples + + - name: stage install + run: | + DESTDIR=libspnav-macosx-nox11 make install + mkdir libspnav-macosx-nox11/examples + cp examples/simple/simple_af_unix libspnav-macosx-nox11/examples + cp examples/fly/fly libspnav-macosx-nox11/examples + + - uses: actions/upload-artifact@v4 + with: + name: libspnav-macosx-nox11 + path: libspnav-macosx-nox11 + +# vi:ts=2 sts=2 sw=2 expandtab: diff --git a/Makefile.in b/Makefile.in index 744e1f1..01e5dc6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -72,3 +72,8 @@ uninstall: for i in $(hdr); do rm -f $(DESTDIR)$(PREFIX)/include/$$i; done rm -f $(DESTDIR)$(PREFIX)/share/pkgconfig/spnav.pc +.PHONY: examples +examples: + $(MAKE) -C examples/simple + $(MAKE) -C examples/cube + $(MAKE) -C examples/fly