From 5da111ba1cf933a1209a12e3f5ebd495b85a643c Mon Sep 17 00:00:00 2001 From: Moritz Kiehn <msmk@cern.ch> Date: Fri, 25 Oct 2019 14:12:19 +0200 Subject: [PATCH] cmake: remove cdash integration --- CMakeLists.txt | 3 +- CTestConfig.cmake | 28 ------- Core/CMakeLists.txt | 2 - Plugins/DD4hep/CMakeLists.txt | 2 - Plugins/Digitization/CMakeLists.txt | 2 - Plugins/TGeo/CMakeLists.txt | 2 - cmake/ActsFunctions.cmake | 56 ------------- cmake/Project.xml | 17 ---- cmake/run_all.ctest | 121 ---------------------------- 9 files changed, 1 insertion(+), 232 deletions(-) delete mode 100644 CTestConfig.cmake delete mode 100644 cmake/ActsFunctions.cmake delete mode 100644 cmake/Project.xml delete mode 100644 cmake/run_all.ctest diff --git a/CMakeLists.txt b/CMakeLists.txt index 6cce4d807..c01cb9bb5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,6 @@ endif() # additional configuration and tools include(GNUInstallDirs) # GNU-like installation paths, e.g. lib/, include/, ... include(ActsCompilerOptions) # default compile options -include(ActsFunctions) # Acts-specific helper functions include(ActsComponentsHelpers) # handle components via add_..._if commands # required packages @@ -76,7 +75,7 @@ add_component_if(Legacy Legacy ACTS_BUILD_LEGACY) add_subdirectory(Plugins) # examples and tests if(ACTS_BUILD_TESTS OR ACTS_BUILD_INTEGRATION_TESTS) - include(CTest) # must be included from the main CMakeLists.txt + enable_testing() # must be set from the main CMakeLists.txt endif() add_subdirectory_if(Tests ACTS_BUILD_TESTS OR ACTS_BUILD_INTEGRATION_TESTS OR ACTS_BUILD_EXAMPLES) # documentation diff --git a/CTestConfig.cmake b/CTestConfig.cmake deleted file mode 100644 index 9e83b1af6..000000000 --- a/CTestConfig.cmake +++ /dev/null @@ -1,28 +0,0 @@ -## This file should be placed in the root directory of your project. -## Then modify the CMakeLists.txt file in the root directory of your -## project to incorporate the testing dashboard. -## -## # The following are required to submit to the CDash dashboard: -## ENABLE_TESTING() -## INCLUDE(CTest) - -set(CTEST_PROJECT_NAME "Acts") -set(CTEST_NIGHTLY_START_TIME "00:00:00 EST") - -# CDash configuration -set (CTEST_DROP_METHOD "http") -set (CTEST_DROP_SITE "my.cdash.org") -set (CTEST_DROP_LOCATION "/submit.php?project=Acts") -set (CTEST_DROP_SITE_CDASH TRUE) - -# sub projects -set (CTEST_PROJECT_SUBPROJECTS ACore Examples DD4hepPlugin MaterialPlugin TGeoPlugin) - -# do not count unit tests for test coverage -set(CTEST_CUSTOM_COVERAGE_EXCLUDE "Tests") - -# site name -execute_process (COMMAND hostname OUTPUT_VARIABLE HOSTNAME OUTPUT_STRIP_TRAILING_WHITESPACE) -execute_process (COMMAND whoami OUTPUT_VARIABLE USER OUTPUT_STRIP_TRAILING_WHITESPACE) -execute_process (COMMAND printf %s@%s ${USER} ${HOSTNAME} OUTPUT_VARIABLE CTEST_SITE) - diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt index 1aa3c2042..96db15ede 100644 --- a/Core/CMakeLists.txt +++ b/Core/CMakeLists.txt @@ -29,5 +29,3 @@ install( install( FILES ${CMAKE_CURRENT_BINARY_DIR}/Acts/ActsVersion.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/Acts) - -acts_add_targets_to_cdash_project(PROJECT ACore TARGETS ActsCore) diff --git a/Plugins/DD4hep/CMakeLists.txt b/Plugins/DD4hep/CMakeLists.txt index fbfb53745..435e4fd54 100644 --- a/Plugins/DD4hep/CMakeLists.txt +++ b/Plugins/DD4hep/CMakeLists.txt @@ -17,5 +17,3 @@ install( install( DIRECTORY include/Acts DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - -acts_add_targets_to_cdash_project(PROJECT ActsDD4hepPlugin TARGETS ActsDD4hepPlugin) diff --git a/Plugins/Digitization/CMakeLists.txt b/Plugins/Digitization/CMakeLists.txt index 2e25a0c66..c7572d9ab 100644 --- a/Plugins/Digitization/CMakeLists.txt +++ b/Plugins/Digitization/CMakeLists.txt @@ -14,5 +14,3 @@ install( install( DIRECTORY include/Acts DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - -acts_add_targets_to_cdash_project(PROJECT ActsDigitizationPlugin TARGETS ActsDigitizationPlugin) diff --git a/Plugins/TGeo/CMakeLists.txt b/Plugins/TGeo/CMakeLists.txt index a624b230d..8da242517 100644 --- a/Plugins/TGeo/CMakeLists.txt +++ b/Plugins/TGeo/CMakeLists.txt @@ -15,5 +15,3 @@ install( install( DIRECTORY include/Acts DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - -acts_add_targets_to_cdash_project(PROJECT ActsTGeoPlugin TARGETS ActsTGeoPlugin) diff --git a/cmake/ActsFunctions.cmake b/cmake/ActsFunctions.cmake deleted file mode 100644 index a8702c302..000000000 --- a/cmake/ActsFunctions.cmake +++ /dev/null @@ -1,56 +0,0 @@ -# helper function for parsing function arguments -include (CMakeParseArguments) - -# This function adds targets to a CDash (sub)project. -# -# It takes the name of the CDash (sub)project and a list of targets. A -# custom target for the CDash (sub)project is created with the name -# '<PROJECT>Project' if it does not yet exist. All specified targets are -# added as dependencies to this custom target such that one can build the -# whole (sub)project using one target. -# The specified targets and their associated source files have their LABELS -# property set such that it includes the CDash (sub)project name. -# -# Usage: acts_add_targets_to_cdash_project(PROJECT project TARGETS target1 [target2 ...]) -function (acts_add_targets_to_cdash_project) - # get function arguments - cmake_parse_arguments (ARG "" "PROJECT" "TARGETS" ${ARGN}) - # get (and possibly created) CDash helper target - set (SUBPROJECT_TARGET "${ARG_PROJECT}Project") - if (NOT TARGET ${SUBPROJECT_TARGET}) - add_custom_target (${SUBPROJECT_TARGET}) - endif () - - # process all targets - foreach (_target ${ARG_TARGETS}) - # include in CDash target and assign label - add_dependencies (${SUBPROJECT_TARGET} ${_target}) - set_property (TARGET ${_target} APPEND PROPERTY LABELS "${ARG_PROJECT}") - # set label on all source files (needed for per-subproject test coverage) - get_property (_sources TARGET ${_target} PROPERTY SOURCES) - foreach (_source_file ${_sources}) - set_property (SOURCE ${_source_file} APPEND PROPERTY LABELS "${ARG_PROJECT}") - endforeach () - endforeach () -endfunction () - -# This function adds tests to a CDash (sub)project. -# -# It takes the name of the CDash (sub)project and the name of test. Optionally, -# a list of targets which need to be build before the test can run can be -# provided. -# The test has its LABELS property updated such that it includes the CDash -# (sub)project name. If a list of targets is specfied, it is added as dependencies -# to the custom '<PROJECT>Project' target (which is created if it does not yet -# exist). -# -# Usage: acts_add_test_to_cdash_project(PROJECT project TEST test [TARGETS target1 [target2 ...]]) -function (acts_add_test_to_cdash_project) - cmake_parse_arguments (ARG "" "PROJECT;TEST" "TARGETS" ${ARGN}) - set_property (TEST ${ARG_TEST} APPEND PROPERTY LABELS "${ARG_PROJECT}") - # add target to CDash project - foreach (_target ${ARG_TARGETS}) - acts_add_targets_to_cdash_project (PROJECT ${ARG_PROJECT} TARGETS ${_target}) - endforeach () -endfunction () - diff --git a/cmake/Project.xml b/cmake/Project.xml deleted file mode 100644 index d31b7ca60..000000000 --- a/cmake/Project.xml +++ /dev/null @@ -1,17 +0,0 @@ -<Project name="Acts"> - <SubProject name="ACore" Group="Acts"> - </SubProject> - <SubProject name="Examples" Group="Acts"> - <Dependency name="ACore"/> - </SubProject> - <SubProject name="DD4hepPlugin" Group="Acts"> - <Dependency name="ACore"/> - <Dependency name="TGeoPlugin"/> - </SubProject> - <SubProject name="MaterialPlugin" Group="Acts"> - <Dependency name="ACore"/> - </SubProject> - <SubProject name="TGeoPlugin" Group="Acts"> - <Dependency name="ACore"/> - </SubProject> -</Project> diff --git a/cmake/run_all.ctest b/cmake/run_all.ctest deleted file mode 100644 index abb21693f..000000000 --- a/cmake/run_all.ctest +++ /dev/null @@ -1,121 +0,0 @@ -function(build_name CXX_COMPILER BOOST_ROOT EIGEN_INCLUDE_DIR) - execute_process(COMMAND basename ${CXX_COMPILER} OUTPUT_VARIABLE COMPILER_TYPE OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${CXX_COMPILER} -dumpversion OUTPUT_VARIABLE COMPILER_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - - execute_process(COMMAND grep "#define BOOST_LIB_VERSION" ${BOOST_ROOT}/include/boost/version.hpp COMMAND awk "{print $3}" OUTPUT_VARIABLE BOOST_VERSION) - execute_process(COMMAND echo ${BOOST_VERSION} COMMAND sed -e s/\"//g -e s/_/./g OUTPUT_VARIABLE BOOST_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - - execute_process(COMMAND grep "#define EIGEN_WORLD_VERSION" ${EIGEN_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h COMMAND awk "{print $3}" OUTPUT_VARIABLE EIGEN_WORLD_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND grep "#define EIGEN_MAJOR_VERSION" ${EIGEN_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h COMMAND awk "{print $3}" OUTPUT_VARIABLE EIGEN_MAJOR_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND grep "#define EIGEN_MINOR_VERSION" ${EIGEN_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h COMMAND awk "{print $3}" OUTPUT_VARIABLE EIGEN_MINOR_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - set(EIGEN_VERSION "${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION}") - - set(BUILD_NAME - "${CMAKE_SYSTEM_NAME}_${COMPILER_TYPE}-${COMPILER_VERSION}_boost-${BOOST_VERSION}_eigen-${EIGEN_VERSION}" PARENT_SCOPE) -endfunction() - -# check required command line input -if(NOT SOURCE_DIR) - message (FATAL_ERROR "SOURCE_DIR must be set") -endif() - -if(NOT BUILD_DIR) - message (FATAL_ERROR "BUILD_DIR must be set") -endif() - -if(NOT EIGEN_INCLUDE_DIR) - message (FATAL_ERROR "EIGEN_INCLUDE_DIR must be set") -endif() - -if(NOT BOOST_ROOT) - message (FATAL_ERROR "BOOST_ROOT must be set") -endif() - -if(NOT CMAKE_CXX_COMPILER) - set(CMAKE_CXX_COMPILER "g++") -endif() - -if(NOT CMAKE_ADDITIONAL_OPTIONS) - set(CMAKE_ADDITIONAL_OPTIONS "") -endif() - -if(NOT BUILD_NAME_PREFIX) - set(BUILD_NAME_PREFIX "") -endif() - - -set(CTEST_SOURCE_DIRECTORY ${SOURCE_DIR}) -set(CTEST_BINARY_DIRECTORY ${BUILD_DIR}) - -set(CTEST_CMAKE_GENERATOR "Unix Makefiles") -set(CTEST_BUILD_CONFIGURATION ${CMAKE_BUILD_TYPE}) - -build_name(${CMAKE_CXX_COMPILER} ${BOOST_ROOT} ${EIGEN_INCLUDE_DIR}) -set(CTEST_BUILD_NAME ${BUILD_NAME_PREFIX}${BUILD_NAME}) - -set(WITH_MEMCHECK FALSE) -set(WITH_COVERAGE TRUE) - -find_program(CTEST_COVERAGE_COMMAND NAMES gcov) -find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) - -set(CTEST_CONFIGURE_COMMAND "${CMAKE_COMMAND} -DBOOST_ROOT:PATH=${BOOST_ROOT}") -set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} -DEIGEN_INCLUDE_DIR:PATH=${EIGEN_INCLUDE_DIR}") -set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CMAKE_ADDITIONAL_OPTIONS}") -set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_SOURCE_DIRECTORY}") - -# flag indicating build/test errors -set(CTEST_FAILURE FALSE) - -ctest_start("Experimental") -ctest_configure(RETURN_VALUE res) - -if(NOT res EQUAL 0) - message(WARNING "configuration failed") - set(CTEST_FAILURE TRUE) -endif() - -ctest_submit(PARTS Configure Notes FILES ${CTEST_SOURCE_DIRECTORY}/cmake/Project.xml) - -foreach(subproject ${CTEST_PROJECT_SUBPROJECTS}) - message("building: ${subproject}") - set_property(GLOBAL PROPERTY SubProject ${subproject}) - set_property (GLOBAL PROPERTY Label ${subproject}) - - ctest_build(TARGET ${subproject}Project RETURN_VALUE res) - if(NOT res EQUAL 0) - message(WARNING "build failed for '${subproject}'") - set(CTEST_FAILURE TRUE) - endif() - - ctest_submit(PARTS Build) - ctest_test(INCLUDE_LABEL ${subproject} RETURN_VALUE res) - if(NOT res EQUAL 0) - message(WARNING "tests failed for '${subproject}'") - set(CTEST_FAILURE TRUE) - endif() - ctest_submit(PARTS Test) - if (WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) - ctest_coverage(LABELS ${subproject} RETURN_VALUE res) - if(NOT res EQUAL 0) - message(WARNING "test coverage failed for '${subproject}'") - set(CTEST_FAILURE TRUE) - endif() - ctest_submit(PARTS Coverage) - endif (WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) - - if (WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND) - ctest_memcheck(INCLUDE_LABEL ${subproject} RETURN_VALUE res) - if(NOT res EQUAL 0) - message(WARNING "memory check failed for '${subproject}'") - set(CTEST_FAILURE TRUE) - endif() - ctest_submit(PARTS MemCheck) - endif (WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND) -endforeach() - -if(CTEST_FAILURE) - message(STATUS "ctest result: FAILURE") -else() - message(STATUS "ctest result: SUCCESS") -endif() -- GitLab