| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- # This "ctest -S" script may be configured to drive a nightly dashboard on any
- # Linux machine.
- #
- set(CTEST_BINARY_DIRECTORY "@binary_dir@")
- set(CTEST_BUILD_NAME "@BUILDNAME@")
- set(CTEST_SITE "@SITE@")
- set(CTEST_SOURCE_DIRECTORY "@source_dir@")
- set(PROCESSOR_COUNT "@PROCESSOR_COUNT@")
- # Assume a Linux build, with a make that supports -j. Modify this script if
- # assumption is ever invalid.
- #
- if(PROCESSOR_COUNT)
- set(CTEST_BUILD_FLAGS "-j${PROCESSOR_COUNT}")
- endif()
- set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
- set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
- message("Cleaning binary dir '${CTEST_BINARY_DIRECTORY}'")
- ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
- # Intentionally no ctest_update step in this script. This script is run as a
- # "Contract" test on a CMake dashboard submission using the just-built ctest
- # as the driver. The download step in the Contract CMakeLists file takes care
- # of setting up the source tree before calling this ctest -S script. The idea
- # is that the source tree will be the same every day, so there should not be
- # an "update" step for this build.
- message("Configuring CSE in binary dir '${CTEST_BINARY_DIRECTORY}'")
- set_property(GLOBAL PROPERTY SubProject "CSE-toplevel")
- set_property(GLOBAL PROPERTY Label "CSE-toplevel")
- ctest_start("Experimental")
- set(CSE_TOPLEVEL_OPTIONS
- -DEXTERNAL_PROJECT_DASHBOARD_BUILD:BOOL=ON
- -DEXTERNAL_PROJECT_TESTS:BOOL=ON
- -DCSE_INSTALL_PREFIX:PATH=${CTEST_BINARY_DIRECTORY}/built
- -DCSE_SUBSET:STRING=ALL
- -DCTEST_SITE:STRING=${CTEST_SITE}
- )
- ctest_configure(OPTIONS "${CSE_TOPLEVEL_OPTIONS}")
- # The configure step produces a file listing the CSE packages and dependencies.
- # This file also generates Project.xml and stores it in ${PROJECT_XML}.
- #
- set(subprojects "")
- if(EXISTS "${CTEST_BINARY_DIRECTORY}/CSEBuildtimeDepends.cmake")
- message("Including CSEBuildtimeDepends.cmake")
- include("${CTEST_BINARY_DIRECTORY}/CSEBuildtimeDepends.cmake")
- set(subprojects ${CSE_ALL_SORTED})
- message("Submitting Project.xml")
- ctest_submit(FILES ${PROJECT_XML})
- endif()
- message("Submitting CSE configure results")
- ctest_submit()
- if(subprojects)
- message("Building by looping over subprojects...")
- foreach(subproject ${subprojects})
- message("########## ${subproject} ##########")
- set_property(GLOBAL PROPERTY SubProject "${subproject}")
- set_property(GLOBAL PROPERTY Label "${subproject}")
- ctest_build(TARGET "${subproject}" APPEND)
- message("Submitting ${subproject} build results")
- ctest_submit(PARTS build)
- endforeach()
- else()
- message("Building all...")
- ctest_build(APPEND)
- message("Submitting build results")
- ctest_submit(PARTS build)
- endif()
|