diff --git a/CMakeLists.txt b/CMakeLists.txt index 6cce4d8078d1af5310c706f4715deb0a1d4abb56..c01cb9bb582220329a75550024755a0e90da21b5 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 9e83b1af6b3ef7e659d6b87d4e297147bd4d7837..0000000000000000000000000000000000000000 --- 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 1aa3c2042dba96462ae38fab3a56cef854ac7dbd..96db15ede7ad5a9c6696be75b3f5c2f579f87b48 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 fbfb53745973170088fa599cf3c1d7827c3d45ec..435e4fd545fa2a243b4cc09ef7489cdda6e5420e 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 2e25a0c668229de339e6e85f31cafb3f36860865..c7572d9ab20456e346cfcabe3f2ba204740ca3e1 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 a624b230d1068d95380933c7c07254f25f1dba93..8da242517f0a3fd91552b5f8e0cb4e6855eb8a0f 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 a8702c302f9d8577f4c1152e7a360cb4a4acf29f..0000000000000000000000000000000000000000 --- 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 d31b7ca603354392f827ac28057ea6d342374223..0000000000000000000000000000000000000000 --- 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 abb21693fc82017ad3b2037d5ba05cd090a27d7e..0000000000000000000000000000000000000000 --- 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()