1# - Dashboard driver script for use with ctest.
2#
3# Generated file processed by CreateDashboardScripts.cmake
4# Run it like:
5#  ctest -S nameofthisfile
6# with -V or -V -VV if you want more feedback.
7#
8# Generally you do not need to edit this file by hand!
9#
10# If this file isn't named DashboardScript.cmake.in and located
11# in the same directory as CreateDashboardScripts.cmake, it has been
12# auto-generated and will be overwritten every time CMake configures
13# itself.  (This may be every build!)
14#
15# Original Author:
16# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
17# http://academic.cleardefinition.com
18# Iowa State University HCI Graduate Program/VRAC
19
20cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
21
22set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
23set(CTEST_PROJECT_NAME "@PROJECT_NAME@")
24
25set(CTEST_DASHBOARD_ROOT "@DASHBOARDSCRIPT_BASE_DIRECTORY@")
26set(CTEST_SOURCE_DIRECTORY "@DASHBOARDSCRIPT_SOURCE_DIRECTORY@")
27set(DASH_TYPE "@DASHBOARDSCRIPT_DASH_TYPE@")
28set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/build-${DASH_TYPE}")
29
30set(CTEST_NOTES_FILES
31	"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
32	"${CTEST_DASHBOARD_ROOT}/GeneratedCombinedCache.${CTEST_SCRIPT_NAME}")
33
34set(CTEST_BUILD_NAME "@BUILDNAME@")
35set(CTEST_SITE "@SITE@")
36
37set(CTEST_USE_LAUNCHERS TRUE)
38
39set(CTEST_COMMAND "@DASHBOARDSCRIPT_CTEST_EXECUTABLE@")
40set(CTEST_CMAKE_COMMAND "@DASHBOARDSCRIPT_CMAKE_COMMAND@")
41set(CTEST_UPDATE_TYPE "@UPDATE_TYPE@")
42set(CTEST_UPDATE_COMMAND "@UPDATE_COMMAND@")
43set(CTEST_UPDATE_OPTIONS "@UPDATE_OPTIONS@")
44
45if((NOT CTEST_CONFIGURATION_TYPE) OR (NOT CTEST_BUILD_CONFIGURATION))
46	set(CTEST_BUILD_CONFIGURATION "@DASHBOARDSCRIPT_BUILD_CONFIGURATION@")
47	set(CTEST_CONFIGURATION_TYPE "@DASHBOARDSCRIPT_BUILD_CONFIGURATION@")
48endif()
49
50
51# Avoid non-ascii characters in tool output.
52set(ENV{LC_ALL} C)
53
54if(EXISTS "${CTEST_DASHBOARD_ROOT}/GeneratedInitialCache.${CTEST_SCRIPT_NAME}")
55	file(READ "${CTEST_DASHBOARD_ROOT}/GeneratedInitialCache.${CTEST_SCRIPT_NAME}" _initcache)
56else()
57	set(_initcache)
58endif()
59
60if(EXISTS "${CTEST_DASHBOARD_ROOT}/CustomInitialCache.cmake")
61	file(READ "${CTEST_DASHBOARD_ROOT}/CustomInitialCache.cmake" _customcache)
62	set(_initcache "${_initcache}
63${_customcache}")
64endif()
65set(_initcache "# This file is automatically regenerated every dashboard build -
66# Do not edit it directly!
67# If you want to add initial cache values, you can create/modify
68# the CustomInitialCache.cmake file in this directory.
69
70# Pretty typical settings to preseve from the generating cache
71set(BUILD_TESTING ON CACHE BOOL docstring)
72set(IN_DASHBOARD_SCRIPT ON CACHE BOOL docstring)
73set(CTEST_USE_LAUNCHERS ON CACHE BOOL docstring)
74set(CMAKE_PREFIX_PATH \"@CMAKE_PREFIX_PATH@\" CACHE STRING docstring)
75set(CMAKE_BUILD_TYPE \"@CMAKE_BUILD_TYPE@\" CACHE STRING docstring)
76set(CTEST_CONFIGURATION_TYPE \"@CMAKE_BUILD_TYPE@\" CACHE STRING docstring)
77
78# testing tool locations
79# Saved here because the tools in the path might be outdated
80set(CPPCHECK_EXECUTABLE \"@CPPCHECK_EXECUTABLE@\" CACHE FILEPATH docstring)
81set(DOXYGEN_EXECUTABLE \"@DOXYGEN_EXECUTABLE@\" CACHE FILEPATH docstring)
82
83${_initcache}")
84
85file(WRITE "${CTEST_DASHBOARD_ROOT}/GeneratedCombinedCache.${CTEST_SCRIPT_NAME}" "${_initcache}")
86
87ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
88
89ctest_start(${DASH_TYPE})
90
91if(CTEST_UPDATE_COMMAND AND NOT DASH_TYPE STREQUAL "Experimental")
92	ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}" RETURN_VALUE res)
93endif()
94
95# Only proceed if we updated a file or if we're not a continuous build
96set(PROCEED NO)
97if(res GREATER 0)
98	message(STATUS "One or more files were updated, so we will proceed to "
99		"and build")
100	set(PROCEED YES)
101endif()
102
103if(NOT DASH_TYPE STREQUAL "Continuous")
104	message(STATUS "We are not a continuous dashboard, so continuing regardless "
105		"of whether any files were updated")
106	set(PROCEED YES)
107endif()
108
109if(PROCEED)
110	ctest_configure(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res
111		OPTIONS "-C${CTEST_DASHBOARD_ROOT}/GeneratedCombinedCache.${CTEST_SCRIPT_NAME}")
112	if(${res} EQUAL 0)
113		# Only try to build if we could configure
114		ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
115
116		# Some tests, like cppcheck tests, don't depend on a successful build
117		ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
118	endif()
119endif()
120
121# Always submit results
122ctest_submit(RETURN_VALUE res)
123