99# If you do not have access to either file, you may request a copy from
10101111#
12- cmake_minimum_required (VERSION 3.12 )
12+ cmake_minimum_required (VERSION 3.18 )
1313########################################################
14- # This dashboard is maintained by The HDF Group
15- # For any comments please contact [email protected] 14+ # For any comments please contact [email protected] 1615#
1716########################################################
1817# -----------------------------------------------------------
@@ -23,23 +22,22 @@ if (NOT SITE_OS_NAME)
2322 ## -- set hostname
2423 ## --------------------------
2524 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 )
2726 set (CTEST_SITE "${HOSTNAME}${CTEST_SITE_EXT} " )
2827 find_program (UNAME NAMES uname)
2928 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 )
3130 endmacro ()
3231
3332 getuname (osname -s)
33+ string (STRIP ${osname} osname)
3434 getuname (osrel -r)
35+ string (STRIP ${osrel} osrel)
3536 getuname (cpu -m)
37+ string (STRIP ${cpu} cpu)
3638 message (STATUS "Dashboard script uname output: ${osname} -${osrel} -${cpu} \n " )
3739
3840 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} " )
4341else ()
4442 ## machine name provided
4543 ## --------------------------
@@ -48,14 +46,25 @@ else ()
4846 else ()
4947 set (CTEST_BUILD_NAME "${SITE_OS_NAME} -${SITE_OS_VERSION} -${SITE_COMPILER_NAME} " )
5048 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" )
5564endif ()
5665
5766#-----------------------------------------------------------------------------
58- # MAC machines need special option
67+ # MacOS machines need special options
5968#-----------------------------------------------------------------------------
6069if (APPLE )
6170 # Compiler choice
@@ -72,10 +81,10 @@ set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
7281## Clear the build directory
7382## --------------------------
7483set (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} " )
7885 file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY} " )
86+ else ()
87+ ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY} )
7988endif ()
8089
8190# Use multiple CPU cores to build
@@ -117,22 +126,24 @@ endforeach ()
117126#-----------------------------------------------------------------------------
118127# Initialize the CTEST commands
119128#------------------------------
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)
123133endif ()
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)
127138endif ()
128139set (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} \" "
130141)
131142#-----------------------------------------------------------------------------
132143
133144#-----------------------------------------------------------------------------
134145## -- set output to english
135- set ($ ENV{LC_MESSAGES} "en_EN" )
146+ set (ENV{LC_MESSAGES} "en_EN" )
136147
137148# Print summary information.
138149foreach (v
@@ -142,6 +153,8 @@ foreach (v
142153 CTEST_BINARY_DIRECTORY
143154 CTEST_CMAKE_GENERATOR
144155 CTEST_CONFIGURATION_TYPE
156+ CTEST_GIT_COMMAND
157+ CTEST_CHECKOUT_COMMAND
145158 CTEST_CONFIGURE_COMMAND
146159 CTEST_SCRIPT_DIRECTORY
147160 CTEST_USE_LAUNCHERS
@@ -159,11 +172,20 @@ if (NOT DEFINED MODEL)
159172 set (MODEL "Experimental" )
160173endif ()
161174
175+ set (ENV{CI_SITE_NAME} ${CTEST_SITE} )
176+ set (ENV{CI_BUILD_NAME} ${CTEST_BUILD_NAME} )
177+ set (ENV{CI_MODEL} ${MODEL} )
178+
162179#-----------------------------------------------------------------------------
163180 ## NORMAL process
181+ ## -- LOCAL_UPDATE updates the source folder from svn
164182 ## -- LOCAL_SUBMIT reports to CDash server
183+ ## -- LOCAL_SKIP_TEST skips the test process (only builds)
165184 ## --------------------------
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 ()
167189 configure_file (${CTEST_SOURCE_DIRECTORY} /config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY} /CTestCustom.cmake)
168190 ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY} " )
169191 ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY} " RETURN_VALUE res)
@@ -182,11 +204,16 @@ endif ()
182204 file (APPEND ${CTEST_SCRIPT_DIRECTORY} /FailedCTest.txt "Failed ${errval} Build: ${res} \n " )
183205 endif ()
184206
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 ()
188215 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 )
191218 endif ()
192219#-----------------------------------------------------------------------------
0 commit comments