mirror of
https://github.com/reactos/CMake.git
synced 2025-01-12 06:20:51 +00:00
81136214f3
Add a ValidateBuild.cmake script that runs after the Trilinos dashboard run is complete. In that script, look for some expected Trilinos executable files. Run the basic Teuchos unit tests executable and expect it to return 0 for no errors. Also, patch the main CMakeLists.txt file to get rid of new warnings from CMake when variables passed in on the command line go un-referenced in the CMakeLists processing.
64 lines
1.9 KiB
CMake
64 lines
1.9 KiB
CMake
# This "cmake -P" script may be configured to drive a dashboard on any machine.
|
|
#
|
|
set(CTEST_BINARY_DIRECTORY "@binary_dir@")
|
|
set(CTEST_BUILD_NAME "@BUILDNAME@")
|
|
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
|
set(CTEST_SITE "@SITE@")
|
|
set(CTEST_SOURCE_DIRECTORY "@source_dir@")
|
|
|
|
# Set the environment:
|
|
#
|
|
set(ENV{CTEST_BUILD_NAME} "${CTEST_BUILD_NAME}")
|
|
set(ENV{CTEST_CMAKE_GENERATOR} "${CTEST_CMAKE_GENERATOR}")
|
|
set(ENV{CTEST_SITE} "${CTEST_SITE}")
|
|
|
|
# Allow override of the environment on a per-client basis:
|
|
#
|
|
set(ENV_SCRIPT "$ENV{CMAKE_CONTRACT_Trilinos_10_6_ENV_SCRIPT}")
|
|
if(ENV_SCRIPT AND EXISTS "${ENV_SCRIPT}")
|
|
include("${ENV_SCRIPT}")
|
|
endif()
|
|
|
|
# Empty build dir to start with:
|
|
#
|
|
message("Cleaning binary dir '${CTEST_BINARY_DIRECTORY}'")
|
|
file(REMOVE_RECURSE "${CTEST_BINARY_DIRECTORY}")
|
|
|
|
# Generate 'do-configure' script:
|
|
#
|
|
file(WRITE "${CTEST_BINARY_DIRECTORY}/do-configure" "
|
|
\"${CMAKE_COMMAND}\" -G \"${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\"
|
|
")
|
|
|
|
# Make the 'do-configure' script executable and execute it:
|
|
#
|
|
if(WIN32)
|
|
configure_file(
|
|
"${CTEST_BINARY_DIRECTORY}/do-configure"
|
|
"${CTEST_BINARY_DIRECTORY}/do-configure.cmd"
|
|
COPYONLY)
|
|
execute_process(COMMAND "${CTEST_BINARY_DIRECTORY}/do-configure.cmd"
|
|
WORKING_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
|
else()
|
|
execute_process(COMMAND chmod +x "${CTEST_BINARY_DIRECTORY}/do-configure")
|
|
execute_process(COMMAND "${CTEST_BINARY_DIRECTORY}/do-configure"
|
|
WORKING_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
|
|
endif()
|
|
|
|
# Run an experimental Trilinos dashboard:
|
|
#
|
|
execute_process(COMMAND
|
|
"${CMAKE_CTEST_COMMAND}"
|
|
-S "${CTEST_SOURCE_DIRECTORY}/cmake/ctest/experimental_build_test.cmake"
|
|
-VV
|
|
WORKING_DIRECTORY "${CTEST_BINARY_DIRECTORY}"
|
|
RESULT_VARIABLE rv
|
|
)
|
|
|
|
if(NOT "${rv}" STREQUAL "0")
|
|
message("error(s) (or warnings or test failures) running Trilinos dashboard
|
|
script experimental_build_test.cmake...
|
|
ctest returned rv='${rv}'
|
|
")
|
|
endif()
|