diff options
author | Samuel Freilich <sfreilich@google.com> | 2022-03-03 14:01:37 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-03-03 14:02:05 -0800 |
commit | b5393869c12fc4a485b91bf8acf244c140c8f182 (patch) | |
tree | 6645cdd285d32a3aa0c12c65e3b0a94b18ab1bae | |
parent | 80b73c58af49b09de6b4c6381c3034991346a6f0 (diff) | |
download | ink-stroke-modeler-b5393869c12fc4a485b91bf8acf244c140c8f182.tar.gz |
Add a GitHub Action for CMake/CTest CI
Remove running on pull_request events for existing workflow, that's redundant with running on push. (Currently it's running twice on the same code when a change is pushed and a PR created.)
Set CMAKE_CXX_STANDARD _before_ compiling Abseil. Stop setting CMAKE_CXX_COMPILER (apparently inconsistently).
PiperOrigin-RevId: 432278083
-rw-r--r-- | .github/workflows/bazel-test.yaml | 2 | ||||
-rw-r--r-- | .github/workflows/cmake-test.yaml | 22 | ||||
-rw-r--r-- | CMakeLists.txt | 11 |
3 files changed, 28 insertions, 7 deletions
diff --git a/.github/workflows/bazel-test.yaml b/.github/workflows/bazel-test.yaml index 3616604..50550a6 100644 --- a/.github/workflows/bazel-test.yaml +++ b/.github/workflows/bazel-test.yaml @@ -1,6 +1,6 @@ name: BazelTest -on: [pull_request, push, workflow_dispatch] +on: [push, workflow_dispatch] jobs: bazel_test: diff --git a/.github/workflows/cmake-test.yaml b/.github/workflows/cmake-test.yaml new file mode 100644 index 0000000..d6f2549 --- /dev/null +++ b/.github/workflows/cmake-test.yaml @@ -0,0 +1,22 @@ +name: CMakeTest + +on: [push, workflow_dispatch] + +jobs: + cmake_test: + runs-on: ubuntu-latest + + env: + CXX: clang++ + + steps: + - uses: actions/checkout@v3 + + - name: Configure CMake + run: cmake . + + - name: Build + run: cmake --build . + + - name: Test + run: ctest diff --git a/CMakeLists.txt b/CMakeLists.txt index 924a88a..6d6fac5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,11 @@ Project(InkStrokeModeler VERSION 0.1 LANGUAGES CXX) enable_testing() +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) + set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +endif() + include(FetchContent) FetchContent_Declare( @@ -43,12 +48,6 @@ endif() set(ABSL_USE_EXTERNAL_GOOGLETEST ON) FetchContent_MakeAvailable(abseil-cpp) -if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) - set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_COMPILER clang++) -endif() - if(CMAKE_CXX_STANDARD LESS 17) message(FATAL_ERROR "${PROJECT_NAME} requires CMAKE_CXX_STANDARD >= 17 (got: ${CMAKE_CXX_STANDARD})") |