aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/default-ci.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/default-ci.yaml')
-rw-r--r--.github/workflows/default-ci.yaml38
1 files changed, 38 insertions, 0 deletions
diff --git a/.github/workflows/default-ci.yaml b/.github/workflows/default-ci.yaml
new file mode 100644
index 0000000..0a7c944
--- /dev/null
+++ b/.github/workflows/default-ci.yaml
@@ -0,0 +1,38 @@
+name: CMake Build
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, windows-latest, macos-latest]
+ build_type: [Release, Debug]
+ shared_library: [True, False]
+ exclude:
+ # Building a shared library is currently unsupported on Windows.
+ - os: windows-latest
+ shared_library: True
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Configure CMake
+ # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required when using a single-configuration generator such as make.
+ # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
+ run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DENTITYX_BUILD_SHARED=${{matrix.shared_library}}
+
+ - name: Build
+ # Build the library with the given configuration
+ run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}}
+
+ - name: Test
+ working-directory: ${{github.workspace}}/build
+ # Execute tests defined by the CMake configuration.
+ # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
+ run: ctest -C ${{matrix.build_type}}