diff --git a/Applications/Utils/Tests.cmake b/Applications/Utils/Tests.cmake index ef19eaa01af392b3a9e724c87a8e108ba924e97a..9834ef9e50fdc221cea527547d0855b3b418c4b5 100644 --- a/Applications/Utils/Tests.cmake +++ b/Applications/Utils/Tests.cmake @@ -321,6 +321,9 @@ if(PARSL AND NOT OGS_USE_MPI) set_tests_properties(parsl_ExtractBoundary PROPERTIES DEPENDS snakemake_ExtractBoundary) endif() endif() +if(SNAKEMAKE OR PARSL) + add_dependencies(ctest ExtractBoundary) +endif() AddTest( NAME partmesh_with_field_data diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 781ba82d01ab235a9120b2a6d92df40c9bef5aee..839c744031dcc7614d92076f427ed47111a900c8 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -3,6 +3,15 @@ if(OGS_USE_XDMF) add_subdirectory(xdmfdiff) endif() +### ctest dependencies +foreach(tool vtkdiff xdmfdiff) + if(TARGET ${tool}) + list(APPEND test_dependencies ${tool}) + endif() +endforeach() +add_dependencies(ctest ${test_dependencies}) +add_dependencies(ctest-large ${test_dependencies}) + ### testrunner ### include(${PROJECT_SOURCE_DIR}/scripts/cmake/OGSEnabledElements.cmake) diff --git a/scripts/cmake/ProcessesSetup.cmake b/scripts/cmake/ProcessesSetup.cmake index 13891791ed888951b4e21568dd6387d97965ed94..2396068b695dac52b57de2c6242c4b9eae3024d1 100644 --- a/scripts/cmake/ProcessesSetup.cmake +++ b/scripts/cmake/ProcessesSetup.cmake @@ -33,6 +33,9 @@ set(OGS_BUILD_PROCESSES CACHE STRING "Semicolon-separated list of processes to build") if(NOT OGS_BUILD_CLI) set(OGS_BUILD_PROCESSES OFF "" CACHE INTERNAL "") + message(STATUS "ATTENTION: OGS_BUILD_CLI=OFF -> OGS_BUILD_PROCESSES is set to OFF too.\n" + " If cli is switched on again, remember to switch processes back to on \n" + " too with -DOGS_BUILD_PROCESSES=\"\"!") endif() if(NOT "${OGS_BUILD_PROCESSES}" STREQUAL "") if(${OGS_BUILD_PROCESSES}) diff --git a/scripts/cmake/test/AddTest.cmake b/scripts/cmake/test/AddTest.cmake index ddca63d31ba75ca547180151583b7031f110e9e7..98dc13fffbfd57a5e805db9c9ce8c4f373b15459 100644 --- a/scripts/cmake/test/AddTest.cmake +++ b/scripts/cmake/test/AddTest.cmake @@ -60,7 +60,7 @@ function (AddTest) # set defaults if(NOT DEFINED AddTest_EXECUTABLE) - set(AddTest_EXECUTABLE ogs) + message(FATAL_ERROR "Test ${AddTest_NAME}: No EXECUTABLE set!") endif() if (NOT DEFINED AddTest_REQUIREMENTS) set(AddTest_REQUIREMENTS TRUE) @@ -82,6 +82,11 @@ function (AddTest) endif() # --- Implement wrappers --- + # check if exe is part of build + if(NOT TARGET ${AddTest_EXECUTABLE}) + set(DISABLED_TESTS_LOG "${DISABLED_TESTS_LOG}\nTest exe ${AddTest_EXECUTABLE} not built! Disabling test ${AddTest_NAME}." CACHE INTERNAL "") + return() + endif() # check requirements, disable if not met if(${AddTest_REQUIREMENTS}) message(DEBUG "Enabling test ${AddTest_NAME}.") @@ -285,10 +290,8 @@ Use six arguments version of AddTest with absolute and relative tolerances") LABELS "${DIR_LABELS}" ) - if(NOT "${AddTest_EXECUTABLE}" STREQUAL "ogs" AND TARGET ${AddTest_EXECUTABLE}) - add_dependencies(ctest ${AddTest_EXECUTABLE}) - add_dependencies(ctest-large ${AddTest_EXECUTABLE}) - endif() + add_dependencies(ctest ${AddTest_EXECUTABLE}) + add_dependencies(ctest-large ${AddTest_EXECUTABLE}) if(AddTest_PYTHON_PACKAGES) if(POETRY) diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake index caba1e810e5c400399eb942f05c6da4283454563..41e6d3a317d04f7912faf7f88be69166970a286a 100644 --- a/scripts/cmake/test/Test.cmake +++ b/scripts/cmake/test/Test.cmake @@ -36,11 +36,8 @@ if(CMAKE_CONFIGURATION_TYPES) endif() add_custom_target(ctest-cleanup ${CMAKE_COMMAND} -E remove -f Tests/ctest.log) -set(test_dependencies ogs vtkdiff) if(OGS_BUILD_UTILS) list(APPEND test_dependencies - partmesh - MapGeometryToMeshSurface generateStructuredMesh ) endif() @@ -92,7 +89,4 @@ set_directory_properties(PROPERTIES set_target_properties(ctest ctest-large ctest-cleanup ctest-large-cleanup PROPERTIES FOLDER Testing) -add_dependencies(ctest ogs) -add_dependencies(ctest-large ogs) - configure_file(${PROJECT_SOURCE_DIR}/scripts/test/buildinfo.in.yaml ${PROJECT_BINARY_DIR}/buildinfo.yaml)