aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Freilich <sfreilich@google.com>2022-03-03 14:01:37 -0800
committerCopybara-Service <copybara-worker@google.com>2022-03-03 14:02:05 -0800
commitb5393869c12fc4a485b91bf8acf244c140c8f182 (patch)
tree6645cdd285d32a3aa0c12c65e3b0a94b18ab1bae
parent80b73c58af49b09de6b4c6381c3034991346a6f0 (diff)
downloadink-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.yaml2
-rw-r--r--.github/workflows/cmake-test.yaml22
-rw-r--r--CMakeLists.txt11
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})")