From ad8eefd389067b5bf35aae476157ee5b281c12be Mon Sep 17 00:00:00 2001 From: Jean-Christophe Fillion-Robin Date: Tue, 13 Mar 2018 09:45:09 +0000 Subject: [PATCH] BUG: DriverScript: Fix handling of CDash project associated with drop site This commit fixes incorrect use of the variable CTEST_PROJECT_NAME, it was previously set under the assumption it would be used to select the CDash project associated with the dashboard submission. Setting CTEST_PROJECT_NAME was a no-op, it was systematically overridden with the correct value in CTestConfig. The correct value corresponds to the name of the top-level CMake project associated with the project being configured, built and tested. To address the problem, this commit introduces the variable CDASH_PROJECT_NAME and use it to ultimately select the appropriate CDash project when setting the variable CTEST_DROP_LOCATION. svn-url: http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=27058 git-svn-id: http://svn.slicer.org/Slicer4/trunk@27058 3bd1e089-480b-0410-8dfb-8563597acbee --- CMake/SlicerDashboardDriverScript.cmake | 19 +++++++----------- CTestConfig.cmake | 6 +++++- Extensions/CMake/CMakeLists.txt | 1 + Extensions/CMake/CTestConfig.cmake.in | 2 +- ...rBlockBuildPackageAndUploadExtension.cmake | 3 ++- ...licerExtensionsDashboardDriverScript.cmake | 20 ++++++++----------- 6 files changed, 24 insertions(+), 27 deletions(-) diff --git a/CMake/SlicerDashboardDriverScript.cmake b/CMake/SlicerDashboardDriverScript.cmake index 56348d17f71..d3d9ac94ae6 100644 --- a/CMake/SlicerDashboardDriverScript.cmake +++ b/CMake/SlicerDashboardDriverScript.cmake @@ -192,23 +192,17 @@ setIfNotDefined(run_ctest_with_upload TRUE) setIfNotDefined(run_ctest_with_notes TRUE) #----------------------------------------------------------------------------- -# CTest Project Name +# CDash Project Name #----------------------------------------------------------------------------- -if(NOT DEFINED Slicer_APPLICATION_NAME) - set(Slicer_APPLICATION_NAME "Slicer") -endif() -list(APPEND variables Slicer_APPLICATION_NAME) -if(NOT DEFINED CTEST_PROJECT_NAME) - set(CTEST_PROJECT_NAME "${Slicer_APPLICATION_NAME}Preview") +if(NOT DEFINED CDASH_PROJECT_NAME) + set(CDASH_PROJECT_NAME "SlicerPreview") if("${Slicer_RELEASE_TYPE}" STREQUAL "Stable") - set(CTEST_PROJECT_NAME "${Slicer_APPLICATION_NAME}Stable") # XXX Rename Slicer CDash project - if("${Slicer_APPLICATION_NAME}" STREQUAL "Slicer") - set(CTEST_PROJECT_NAME "Slicer4") - endif() + set(CDASH_PROJECT_NAME "Slicer4") + # set(CDASH_PROJECT_NAME "SlicerStable") endif() endif() -list(APPEND variables CTEST_PROJECT_NAME) +list(APPEND variables CDASH_PROJECT_NAME) #----------------------------------------------------------------------------- if(NOT DEFINED GIT_REPOSITORY) @@ -426,6 +420,7 @@ CMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}") #----------------------------------------------------------------------------- file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" " ${QT_CACHE_ENTRY} +CDASH_PROJECT_NAME:STRING=${CDASH_PROJECT_NAME} GIT_EXECUTABLE:FILEPATH=${CTEST_GIT_COMMAND} Subversion_SVN_EXECUTABLE:FILEPATH=${CTEST_SVN_COMMAND} WITH_COVERAGE:BOOL=${WITH_COVERAGE} diff --git a/CTestConfig.cmake b/CTestConfig.cmake index 2feb029a696..a55209687fe 100644 --- a/CTestConfig.cmake +++ b/CTestConfig.cmake @@ -1,8 +1,12 @@ set(CTEST_PROJECT_NAME "Slicer") set(CTEST_NIGHTLY_START_TIME "3:00:00 UTC") +if(NOT DEFINED CDASH_PROJECT_NAME) + set(CDASH_PROJECT_NAME "SlicerPreview") +endif() + set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "slicer.cdash.org") -set(CTEST_DROP_LOCATION "/submit.php?project=SlicerPreview") +set(CTEST_DROP_LOCATION "/submit.php?project=${CDASH_PROJECT_NAME}") set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Extensions/CMake/CMakeLists.txt b/Extensions/CMake/CMakeLists.txt index 53ae73fc334..89491f1c678 100644 --- a/Extensions/CMake/CMakeLists.txt +++ b/Extensions/CMake/CMakeLists.txt @@ -71,6 +71,7 @@ option(BUILD_TESTING "Test extensions." ${Slicer_BUILD_TESTING}) option(Slicer_UPLOAD_EXTENSIONS "Build, test, package and upload extensions" OFF) set(CTEST_DROP_SITE "slicer.cdash.org" CACHE STRING "Dashboard results are uploaded to this URL.") +set(CDASH_PROJECT_NAME "SlicerPreview" CACHE STRING "Name of the dashboard project.") configure_file( CTestConfig.cmake.in diff --git a/Extensions/CMake/CTestConfig.cmake.in b/Extensions/CMake/CTestConfig.cmake.in index c9ad8771097..0b6f31ab600 100644 --- a/Extensions/CMake/CTestConfig.cmake.in +++ b/Extensions/CMake/CTestConfig.cmake.in @@ -3,6 +3,6 @@ set(CTEST_NIGHTLY_START_TIME "3:00:00 UTC") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "@CTEST_DROP_SITE@") -set(CTEST_DROP_LOCATION "/submit.php?project=SlicerPreview") +set(CTEST_DROP_LOCATION "/submit.php?project=@CDASH_PROJECT_NAME@") set(CTEST_DROP_SITE_CDASH TRUE) diff --git a/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake b/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake index 0ac50fe38be..7ff83d34299 100644 --- a/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake +++ b/Extensions/CMake/SlicerBlockBuildPackageAndUploadExtension.cmake @@ -20,6 +20,7 @@ set(expected_defined_vars CTEST_BUILD_CONFIGURATION CTEST_CMAKE_GENERATOR CTEST_DROP_SITE + CDASH_PROJECT_NAME EXTENSION_BUILD_OPTIONS_STRING EXTENSION_BUILD_SUBDIRECTORY EXTENSION_ENABLED @@ -113,7 +114,7 @@ set(CTEST_NIGHTLY_START_TIME \"3:00:00 UTC\") set(CTEST_DROP_METHOD \"http\") set(CTEST_DROP_SITE \"${CTEST_DROP_SITE}\") -set(CTEST_DROP_LOCATION \"/submit.php?project=SlicerPreview\") +set(CTEST_DROP_LOCATION \"/submit.php?project=${CDASH_PROJECT_NAME}\") set(CTEST_DROP_SITE_CDASH TRUE)") endif() message(STATUS "CTestCustom.cmake has been written to: ${ctestconfig_dest_dir}") diff --git a/Extensions/CMake/SlicerExtensionsDashboardDriverScript.cmake b/Extensions/CMake/SlicerExtensionsDashboardDriverScript.cmake index 2638495bfa0..a4fcec92f8f 100644 --- a/Extensions/CMake/SlicerExtensionsDashboardDriverScript.cmake +++ b/Extensions/CMake/SlicerExtensionsDashboardDriverScript.cmake @@ -285,24 +285,19 @@ setIfNotDefined(run_ctest_with_notes TRUE) setIfNotDefined(Slicer_UPLOAD_EXTENSIONS TRUE) #----------------------------------------------------------------------------- -# CTest Project Name +# CDash Project Name #----------------------------------------------------------------------------- -if(NOT DEFINED Slicer_APPLICATION_NAME) - set(Slicer_APPLICATION_NAME "Slicer") -endif() -list(APPEND variables Slicer_APPLICATION_NAME) -if(NOT DEFINED CTEST_PROJECT_NAME) - set(CTEST_PROJECT_NAME "${Slicer_APPLICATION_NAME}Preview") +if(NOT DEFINED CDASH_PROJECT_NAME) + set(CDASH_PROJECT_NAME "SlicerPreview") if("${Slicer_RELEASE_TYPE}" STREQUAL "Stable") - set(CTEST_PROJECT_NAME "${Slicer_APPLICATION_NAME}Stable") # XXX Rename Slicer CDash project - if("${Slicer_APPLICATION_NAME}" STREQUAL "Slicer") - set(CTEST_PROJECT_NAME "Slicer4") - endif() + set(CDASH_PROJECT_NAME "Slicer4") + #set(CDASH_PROJECT_NAME "SlicerStable") endif() endif() -list(APPEND variables CTEST_PROJECT_NAME) +list(APPEND variables CDASH_PROJECT_NAME) +#----------------------------------------------------------------------------- set(CTEST_COMMAND ${CMAKE_CTEST_COMMAND}) if(NOT EXTENSIONS_BUILDSYSTEM_TESTING) @@ -494,6 +489,7 @@ macro(run_ctest) else() message("Configuring ${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake") + # Require CTEST_DROP_SITE and CDASH_PROJECT_NAME configure_file( ${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake.in ${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake