From af4b2b935428b4e7738b17e78bcca96463e212eb Mon Sep 17 00:00:00 2001 From: Richard Berger <richard.berger@temple.edu> Date: Tue, 4 Sep 2018 15:37:32 -0400 Subject: [PATCH] Add LAMMPS_TESTING_SOURCE_DIR and LAMMPS_TESTING_GIT_TAG options --- cmake/CMakeLists.txt | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 47a4075bcc..0d8da8409d 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -209,14 +209,16 @@ option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF) option(ENABLE_TESTING "Enable testing" OFF) if(ENABLE_TESTING) enable_testing() + option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "") + option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master") + mark_as_advanced(LAMMPS_TESTING_SOURCE_DIR LAMMPS_TESTING_GIT_TAG) - if (CMAKE_VERSION VERSION_GREATER "3.10.3") # due to FetchContent + if (CMAKE_VERSION VERSION_GREATER "3.10.3" AND NOT LAMMPS_TESTING_SOURCE_DIR) include(FetchContent) - FetchContent_Declare(lammps-testing GIT_REPOSITORY https://github.com/lammps/lammps-testing.git - GIT_TAG master + GIT_TAG ${LAMMPS_TESTING_GIT_TAG} ) FetchContent_GetProperties(lammps-testing) @@ -224,9 +226,17 @@ if(ENABLE_TESTING) message(STATUS "Downloading tests...") FetchContent_Populate(lammps-testing) endif() + + set(LAMMPS_TESTING_SOURCE_DIR ${lammps-testing_SOURCE_DIR}) + elseif(NOT LAMMPS_TESTING_SOURCE_DIR) + message(WARNING "Full test-suite requires CMake >= 3.11 or copy of\n" + "https://github.com/lammps/lammps-testing in LAMMPS_TESTING_SOURCE_DIR") + endif() + + if(EXISTS ${LAMMPS_TESTING_SOURCE_DIR}) message(STATUS "Running test discovery...") - file(GLOB_RECURSE TEST_SCRIPTS ${lammps-testing_SOURCE_DIR}/tests/core/*/in.*) + file(GLOB_RECURSE TEST_SCRIPTS ${LAMMPS_TESTING_SOURCE_DIR}/tests/core/*/in.*) foreach(script_path ${TEST_SCRIPTS}) get_filename_component(TEST_NAME ${script_path} EXT) get_filename_component(SCRIPT_NAME ${script_path} NAME) @@ -238,8 +248,9 @@ if(ENABLE_TESTING) add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME}) set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR}) endforeach() - else() - message(WARNING "Full test-suite requires CMake >= 3.11") + list(LENGTH TEST_SCRIPTS NUM_TESTS) + + message(STATUS "Found ${NUM_TESTS} tests.") endif() endif(ENABLE_TESTING) -- GitLab