|
@@ -0,0 +1,66 @@
|
|
|
|
|
+cmake_minimum_required(VERSION 3.8)
|
|
|
|
|
+
|
|
|
|
|
+include("${CMAKE_CURRENT_LIST_DIR}/gitlab_ci.cmake")
|
|
|
|
|
+
|
|
|
|
|
+set(cmake_args
|
|
|
|
|
+ -C "${CMAKE_CURRENT_LIST_DIR}/configure_$ENV{CMAKE_CONFIGURATION}.cmake")
|
|
|
|
|
+
|
|
|
|
|
+# Create an entry in CDash.
|
|
|
|
|
+ctest_start(Experimental TRACK "${ctest_track}")
|
|
|
|
|
+
|
|
|
|
|
+# Gather update information.
|
|
|
|
|
+find_package(Git)
|
|
|
|
|
+set(CTEST_UPDATE_VERSION_ONLY ON)
|
|
|
|
|
+set(CTEST_UPDATE_COMMAND "${GIT_EXECUTABLE}")
|
|
|
|
|
+ctest_update()
|
|
|
|
|
+
|
|
|
|
|
+# Configure the project.
|
|
|
|
|
+ctest_configure(
|
|
|
|
|
+ OPTIONS "${cmake_args}"
|
|
|
|
|
+ RETURN_VALUE configure_result)
|
|
|
|
|
+
|
|
|
|
|
+# Read the files from the build directory.
|
|
|
|
|
+ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
|
|
|
|
|
+
|
|
|
|
|
+# We can now submit because we've configured. This is a cmb-superbuild-ism.
|
|
|
|
|
+ctest_submit(PARTS Update)
|
|
|
|
|
+ctest_submit(PARTS Configure)
|
|
|
|
|
+
|
|
|
|
|
+if (configure_result)
|
|
|
|
|
+ message(FATAL_ERROR
|
|
|
|
|
+ "Failed to configure")
|
|
|
|
|
+endif ()
|
|
|
|
|
+
|
|
|
|
|
+include(ProcessorCount)
|
|
|
|
|
+ProcessorCount(nproc)
|
|
|
|
|
+
|
|
|
|
|
+if (CTEST_CMAKE_GENERATOR STREQUAL "Unix Makefiles")
|
|
|
|
|
+ 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 ()
|
|
|
|
|
+
|
|
|
|
|
+include("${CMAKE_CURRENT_LIST_DIR}/ctest_exclusions.cmake")
|
|
|
|
|
+ctest_test(
|
|
|
|
|
+ PARALLEL_LEVEL "${nproc}"
|
|
|
|
|
+ RETURN_VALUE test_result
|
|
|
|
|
+ EXCLUDE "${test_exclusions}")
|
|
|
|
|
+ctest_submit(PARTS Test)
|
|
|
|
|
+
|
|
|
|
|
+if (test_result)
|
|
|
|
|
+ message(FATAL_ERROR
|
|
|
|
|
+ "Failed to test")
|
|
|
|
|
+endif ()
|