9
9
# If you do not have access to either file, you may request a copy from
10
10
# help@hdfgroup.org.
11
11
#
12
- cmake_minimum_required (VERSION 3.12 )
12
+ cmake_minimum_required (VERSION 3.18 )
13
13
########################################################
14
- # This dashboard is maintained by The HDF Group
15
- # For any comments please contact cdashhelp@hdfgroup.org
14
+ # For any comments please contact help@hdfgroup.org
16
15
#
17
16
########################################################
18
17
# -----------------------------------------------------------
@@ -23,23 +22,22 @@ if (NOT SITE_OS_NAME)
23
22
## -- set hostname
24
23
## --------------------------
25
24
find_program (HOSTNAME_CMD NAMES hostname )
26
- exec_program ( ${HOSTNAME_CMD} ARGS OUTPUT_VARIABLE HOSTNAME )
25
+ execute_process ( COMMAND ${HOSTNAME_CMD} OUTPUT_VARIABLE HOSTNAME OUTPUT_STRIP_TRAILING_WHITESPACE )
27
26
set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT} " )
28
27
find_program (UNAME NAMES uname )
29
28
macro (getuname name flag )
30
- exec_program ( "${UNAME} " ARGS "${flag} " OUTPUT_VARIABLE "${name} " )
29
+ execute_process ( COMMAND "${UNAME} " "${flag} " OUTPUT_VARIABLE "${name} " OUTPUT_STRIP_TRAILING_WHITESPACE )
31
30
endmacro ()
32
31
33
32
getuname (osname -s )
33
+ string (STRIP ${osname} osname )
34
34
getuname (osrel -r )
35
+ string (STRIP ${osrel} osrel )
35
36
getuname (cpu -m )
37
+ string (STRIP ${cpu} cpu )
36
38
message (STATUS "Dashboard script uname output: ${osname} -${osrel} -${cpu} \n " )
37
39
38
40
set (CTEST_BUILD_NAME "${osname} -${osrel} -${cpu} " )
39
- if (SITE_BUILDNAME_SUFFIX )
40
- set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX} -${CTEST_BUILD_NAME} " )
41
- endif ()
42
- set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} " )
43
41
else ()
44
42
## machine name provided
45
43
## --------------------------
@@ -48,14 +46,25 @@ else ()
48
46
else ()
49
47
set (CTEST_BUILD_NAME "${SITE_OS_NAME} -${SITE_OS_VERSION} -${SITE_COMPILER_NAME} " )
50
48
endif ()
51
- if (SITE_BUILDNAME_SUFFIX )
52
- set (CTEST_BUILD_NAME "${CTEST_BUILD_NAME} -${SITE_BUILDNAME_SUFFIX} " )
53
- endif ()
54
- set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME} " )
49
+ endif ()
50
+ if (SITE_BUILDNAME_SUFFIX )
51
+ set (CTEST_BUILD_NAME "${SITE_BUILDNAME_SUFFIX} -${CTEST_BUILD_NAME} " )
52
+ endif ()
53
+ set (BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME} " )
54
+
55
+ # Launchers work only with Makefile and Ninja generators.
56
+ if (NOT "${CTEST_CMAKE_GENERATOR} " MATCHES "Make|Ninja" OR LOCAL_SKIP_TEST )
57
+ set (CTEST_USE_LAUNCHERS 0 )
58
+ set (ENV{CTEST_USE_LAUNCHERS_DEFAULT} 0 )
59
+ set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=OFF" )
60
+ else ()
61
+ set (CTEST_USE_LAUNCHERS 1 )
62
+ set (ENV{CTEST_USE_LAUNCHERS_DEFAULT} 1 )
63
+ set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON" )
55
64
endif ()
56
65
57
66
#-----------------------------------------------------------------------------
58
- # MAC machines need special option
67
+ # MacOS machines need special options
59
68
#-----------------------------------------------------------------------------
60
69
if (APPLE )
61
70
# Compiler choice
@@ -72,10 +81,10 @@ set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
72
81
## Clear the build directory
73
82
## --------------------------
74
83
set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE )
75
- if (EXISTS "${CTEST_BINARY_DIRECTORY} " AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY} " )
76
- ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY} )
77
- else ()
84
+ if (NOT EXISTS "${CTEST_BINARY_DIRECTORY} " )
78
85
file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY} " )
86
+ else ()
87
+ ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY} )
79
88
endif ()
80
89
81
90
# Use multiple CPU cores to build
@@ -117,22 +126,24 @@ endforeach ()
117
126
#-----------------------------------------------------------------------------
118
127
# Initialize the CTEST commands
119
128
#------------------------------
120
- set (CTEST_CONFIGURE_TOOLSET "" )
121
- if (CMAKE_GENERATOR_TOOLSET )
122
- set (CTEST_CONFIGURE_TOOLSET "-T${CMAKE_GENERATOR_TOOLSET} " )
129
+ if (CMAKE_GENERATOR_TOOLSET )
130
+ set (CTEST_CONFIGURE_TOOLSET "\" -T${CMAKE_GENERATOR_TOOLSET} \" " )
131
+ else ()
132
+ set (CTEST_CONFIGURE_TOOLSET )
123
133
endif ()
124
- set (CTEST_CONFIGURE_ARCHITECTURE "" )
125
- if (CMAKE_GENERATOR_ARCHITECTURE )
126
- set (CTEST_CONFIGURE_ARCHITECTURE "-A${CMAKE_GENERATOR_ARCHITECTURE} " )
134
+ if (CMAKE_GENERATOR_ARCHITECTURE )
135
+ set (CTEST_CONFIGURE_ARCHITECTURE "\" -A${CMAKE_GENERATOR_ARCHITECTURE} \" " )
136
+ else ()
137
+ set (CTEST_CONFIGURE_ARCHITECTURE )
127
138
endif ()
128
139
set (CTEST_CONFIGURE_COMMAND
129
- "${CTEST_CMAKE_COMMAND} -C \" ${CTEST_SOURCE_DIRECTORY} /config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \" -G${CTEST_CMAKE_GENERATOR} \" \" ${CTEST_CONFIGURE_ARCHITECTURE} \" \" ${CTEST_CONFIGURE_TOOLSET} \" \" ${CTEST_SOURCE_DIRECTORY} \" "
140
+ "${CTEST_CMAKE_COMMAND} -C \" ${CTEST_SOURCE_DIRECTORY} /config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \" -G${CTEST_CMAKE_GENERATOR} \" ${CTEST_CONFIGURE_ARCHITECTURE} ${CTEST_CONFIGURE_TOOLSET} \" ${CTEST_SOURCE_DIRECTORY} \" "
130
141
)
131
142
#-----------------------------------------------------------------------------
132
143
133
144
#-----------------------------------------------------------------------------
134
145
## -- set output to english
135
- set ($ ENV{LC_MESSAGES} "en_EN" )
146
+ set (ENV{LC_MESSAGES} "en_EN" )
136
147
137
148
# Print summary information.
138
149
foreach (v
@@ -142,6 +153,8 @@ foreach (v
142
153
CTEST_BINARY_DIRECTORY
143
154
CTEST_CMAKE_GENERATOR
144
155
CTEST_CONFIGURATION_TYPE
156
+ CTEST_GIT_COMMAND
157
+ CTEST_CHECKOUT_COMMAND
145
158
CTEST_CONFIGURE_COMMAND
146
159
CTEST_SCRIPT_DIRECTORY
147
160
CTEST_USE_LAUNCHERS
@@ -159,11 +172,20 @@ if (NOT DEFINED MODEL)
159
172
set (MODEL "Experimental" )
160
173
endif ()
161
174
175
+ set (ENV{CI_SITE_NAME} ${CTEST_SITE} )
176
+ set (ENV{CI_BUILD_NAME} ${CTEST_BUILD_NAME} )
177
+ set (ENV{CI_MODEL} ${MODEL} )
178
+
162
179
#-----------------------------------------------------------------------------
163
180
## NORMAL process
181
+ ## -- LOCAL_UPDATE updates the source folder from svn
164
182
## -- LOCAL_SUBMIT reports to CDash server
183
+ ## -- LOCAL_SKIP_TEST skips the test process (only builds)
165
184
## --------------------------
166
- ctest_start (${MODEL} TRACK ${MODEL} )
185
+ ctest_start (${MODEL} GROUP ${MODEL} )
186
+ if (LOCAL_UPDATE )
187
+ ctest_update (SOURCE "${CTEST_SOURCE_DIRECTORY} " )
188
+ endif ()
167
189
configure_file (${CTEST_SOURCE_DIRECTORY} /config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY} /CTestCustom.cmake )
168
190
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY} " )
169
191
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY} " RETURN_VALUE res )
@@ -182,11 +204,16 @@ endif ()
182
204
file (APPEND ${CTEST_SCRIPT_DIRECTORY} /FailedCTest.txt "Failed ${errval} Build: ${res} \n " )
183
205
endif ()
184
206
185
- ctest_test (BUILD "${CTEST_BINARY_DIRECTORY} " APPEND ${ctest_test_args} RETURN_VALUE res )
186
- if (LOCAL_SUBMIT )
187
- ctest_submit (PARTS Test )
207
+ if (NOT LOCAL_SKIP_TEST )
208
+ ctest_test (BUILD "${CTEST_BINARY_DIRECTORY} " APPEND ${ctest_test_args} RETURN_VALUE res )
209
+ if (LOCAL_SUBMIT )
210
+ ctest_submit (PARTS Test )
211
+ endif ()
212
+ if (${res} LESS 0 OR ${res} GREATER 0 )
213
+ file (APPEND ${CTEST_SCRIPT_DIRECTORY} /FailedCTest.txt "Failed Tests: ${res} \n " )
214
+ endif ()
188
215
endif ()
189
- if (${res} LESS 0 OR ${res} GREATER 0 )
190
- file ( APPEND ${CTEST_SCRIPT_DIRECTORY} /FailedCTest.txt "Failed Tests: ${res} \n " )
216
+ if (LOCAL_SUBMIT )
217
+ ctest_submit ( PARTS Done )
191
218
endif ()
192
219
#-----------------------------------------------------------------------------
0 commit comments