diff --git a/.github/workflows/linux-clang.yaml b/.github/workflows/linux-clang.yaml index f1e1c023..2b3a0981 100644 --- a/.github/workflows/linux-clang.yaml +++ b/.github/workflows/linux-clang.yaml @@ -1,7 +1,8 @@ -name: Linux Clang - Build & tests +name: Linux Clang on: - pull_request + - push jobs: build: diff --git a/.github/workflows/linux-emscripten.yaml b/.github/workflows/linux-emscripten.yaml index c6bc7615..a2b9e40f 100644 --- a/.github/workflows/linux-emscripten.yaml +++ b/.github/workflows/linux-emscripten.yaml @@ -1,7 +1,8 @@ -name: Linux Emscripten - Build +name: Linux Emscripten on: - pull_request + - push jobs: build: diff --git a/.github/workflows/linux-gcc.yaml b/.github/workflows/linux-gcc.yaml index 2bc76be5..c83b9ef4 100644 --- a/.github/workflows/linux-gcc.yaml +++ b/.github/workflows/linux-gcc.yaml @@ -1,7 +1,8 @@ -name: Linux GCC - Build & tests +name: Linux GCC on: - pull_request + - push jobs: build: diff --git a/.github/workflows/mac-clang.yaml b/.github/workflows/mac-clang.yaml new file mode 100644 index 00000000..33d6b720 --- /dev/null +++ b/.github/workflows/mac-clang.yaml @@ -0,0 +1,27 @@ +name: MacOS Clang + +on: + - pull_request + - push + +jobs: + build: + name: MacOS Clang + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - uses: seanmiddleditch/gha-setup-ninja@master + - name: Build + run: > + mkdir build; + cd build; + cmake .. + -DCMAKE_CXX_COMPILER=clang++ + -DFTXUI_BUILD_TESTS=ON; + cmake --build . --config Release; + + - name: Tests + if: ${{ matrix.config.test }} + run: > + cd build; + ./tests diff --git a/.github/workflows/windows-msvc.yaml b/.github/workflows/windows-msvc.yaml new file mode 100644 index 00000000..a1f89f6d --- /dev/null +++ b/.github/workflows/windows-msvc.yaml @@ -0,0 +1,27 @@ +name: Windows MSVC + +on: + - pull_request + +jobs: + build: + name: Windows MSVC + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - uses: seanmiddleditch/gha-setup-ninja@master + - uses: ilammy/msvc-dev-cmd@v1 + - name: Build + run: > + mkdir build; + cd build; + cmake .. + -DCMAKE_CXX_COMPILER="cl" + -DFTXUI_BUILD_TESTS=ON; + cmake --build . --config Release; + + - name: Tests + if: ${{ matrix.config.test }} + run: > + cd build; + ./tests.exe diff --git a/README.md b/README.md index 604c4327..194172c3 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,13 @@ # FTXUI -[![continuous-integration][badge.continuous-integration]][continuous-integration] [![issues][badge.issues]][issues] [![license][badge.license]][license] [![contributors][badge.contributors]][contributors] -[badge.continuous-integration]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/continuous-integration.yaml/badge.svg [badge.issues]: https://img.shields.io/github/issues-raw/arthursonzogni/FTXUI [badge.license]: https://img.shields.io/github/license/arthursonzogni/FTXUI?color=black [badge.contributors]: https://img.shields.io/github/contributors/arthursonzogni/FTXUI?color=blue -[continuous-integration]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/continuous-integration.yaml + [issues]: https://github.com/ArthurSonzogni/FTXUI/issues [license]: http://opensource.org/licenses/MIT [contributors]: https://github.com/ArthurSonzogni/FTXUI/graphs/contributors @@ -18,7 +16,6 @@ A simple C++ library for terminal based user interface. - ## Demo: ![Demo image](./examples/component/homescreen.gif) @@ -31,6 +28,25 @@ A simple C++ library for terminal based user interface. * No dependencies. * Cross platform (mostly). Linux (main target), Windows (experimental), Mac. +## Operating systems +- [![linux-gcc][badge.linux-gcc]][link.linux-gcc] +- [![linux-clang][badge.linux-clang]][link.linux-clang] +- [![linux-emscripten][badge.linux-emscripten]][link.linux-emscripten] +- [![windows-msvc][badge.windows-msvc]][link.windows-msvc] +- [![mac-clang][badge.mac-clang]][link.mac-clang] + +[badge.linux-gcc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-gcc.yaml/badge.svg?branch=master +[badge.linux-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-clang.yaml/badge.svg?branch=master +[badge.linux-emscripten]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-emscripten.yaml/badge.svg?branch=master +[badge.windows-msvc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/windows-msvc.yaml/badge.svg?branch=master +[badge.mac-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/mac-clang.yaml/badge.svg?branch=master + +[link.linux-gcc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-gcc.yaml +[link.linux-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-clang.yaml +[link.linux-emscripten]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/linux-emscripten.yaml +[link.windows-msvc]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/windows-msvc.yaml +[link.mac-clang]: https://github.com/ArthurSonzogni/FTXUI/actions/workflows/mac-clang.yaml + ## Example: ~~~cpp vbox({