summaryrefslogtreecommitdiffstats
path: root/.gitlab/ci/ctest_build.cmake
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2020-04-08 14:00:57 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2020-04-29 15:18:02 (GMT)
commit0a5bcf97b9e0a7ac9c2bca0f92f6740a85ee3fdf (patch)
treeaa42c7bbd2e7420b6213d1b783657ef99494c86e /.gitlab/ci/ctest_build.cmake
parent960158b90dc921a1ac521132861c2689052dd256 (diff)
downloadCMake-0a5bcf97b9e0a7ac9c2bca0f92f6740a85ee3fdf.zip
CMake-0a5bcf97b9e0a7ac9c2bca0f92f6740a85ee3fdf.tar.gz
CMake-0a5bcf97b9e0a7ac9c2bca0f92f6740a85ee3fdf.tar.bz2
gitlab-ci: add scripts for use by CI
Diffstat (limited to '.gitlab/ci/ctest_build.cmake')
-rw-r--r--.gitlab/ci/ctest_build.cmake30
1 files changed, 30 insertions, 0 deletions
diff --git a/.gitlab/ci/ctest_build.cmake b/.gitlab/ci/ctest_build.cmake
new file mode 100644
index 0000000..28bdb35
--- /dev/null
+++ b/.gitlab/ci/ctest_build.cmake
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 3.8)
+
+include("${CMAKE_CURRENT_LIST_DIR}/gitlab_ci.cmake")
+
+# Read the files from the build directory.
+ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
+
+# Pick up from where the configure left off.
+ctest_start(APPEND)
+
+if (CTEST_CMAKE_GENERATOR STREQUAL "Unix Makefiles")
+ include(ProcessorCount)
+ ProcessorCount(nproc)
+ set(CTEST_BUILD_FLAGS "-j${nproc}")
+endif ()
+
+ctest_build(
+ NUMBER_WARNINGS num_warnings
+ RETURN_VALUE build_result)
+ctest_submit(PARTS Build)
+
+if (build_result)
+ message(FATAL_ERROR
+ "Failed to build")
+endif ()
+
+if ("$ENV{CTEST_NO_WARNINGS_ALLOWED}" AND num_warnings GREATER 0)
+ message(FATAL_ERROR
+ "Found ${num_warnings} warnings (treating as fatal).")
+endif ()