1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
Index: scotch/src/check/CMakeLists.txt
===================================================================
--- scotch.orig/src/check/CMakeLists.txt 2025-09-01 03:43:39.897781471 +0200
+++ scotch/src/check/CMakeLists.txt 2025-09-01 03:44:32.097924045 +0200
@@ -47,17 +47,69 @@
## ##
############################################################
+if(SCOTCH_TEST_STANDALONE)
+ # run tests against installed SCOTCH library
+ cmake_minimum_required(VERSION 3.18)
+ project(scotch_tests)
+ enable_testing()
+ find_package(SCOTCH${SCOTCH_SONAME_SUFFIX} REQUIRED)
+ set(SYSTEM_EXECUTABLES
+ "acpl"
+ "amk_ccc" "amk_fft2" "amk_hy" "amk_m2" "amk_p2" "amk_grf"
+ "atst"
+ "gbase"
+ "gmk_hy" "gmk_m2" "gmk_m3" "gmk_ub2"
+ "mtst"
+ "mcv"
+ "mmk_m2" "mmk_m3"
+ "mord"
+ "gdump"
+ "gmap"
+ "gotst"
+ "gmk_msh"
+ "gout"
+ "gmtst"
+ "gscat"
+ "gtst"
+ "gord"
+ "gpart")
+ if(BUILD_PTSCOTCH)
+ find_package(MPI COMPONENTS C)
+ list(APPEND SYSTEM_EXECUTABLES
+ "dggath"
+ "dgscat"
+ "dgtst"
+ "dgord"
+ "dgpart"
+ )
+ endif(BUILD_PTSCOTCH)
+ foreach(exe ${SYSTEM_EXECUTABLES})
+ add_executable(${exe} IMPORTED )
+ set_property(TARGET ${exe} PROPERTY IMPORTED_LOCATION "/usr/bin/${exe}")
+ endforeach()
+ set(dev_null /dev/null)
+endif(SCOTCH_TEST_STANDALONE)
+
# Set directory aliases
set(dat ${CMAKE_CURRENT_SOURCE_DIR}/data)
-set(tgt ${PROJECT_SOURCE_DIR}/tgt)
+if(SCOTCH_TEST_STANDALONE)
+ set(tgt ${CMAKE_CURRENT_SOURCE_DIR}/../../tgt)
+else()
+ set(tgt ${PROJECT_SOURCE_DIR}/tgt)
+endif(SCOTCH_TEST_STANDALONE)
# Macro to add quickly a Scotch test executable
function(add_test_scotch)
add_executable(${ARGV0} ${ARGV0}.c)
set_target_properties(${ARGV0} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
- target_link_libraries(${ARGV0} PRIVATE scotch scotcherr)
+ if(SCOTCH_TEST_STANDALONE)
+ target_include_directories(${ARGV0} PRIVATE ${SCOTCH_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src/libscotch)
+ target_link_libraries(${ARGV0} PRIVATE SCOTCH::scotch SCOTCH::scotcherr)
+ else()
+ target_link_libraries(${ARGV0} PRIVATE scotch scotcherr)
+ endif(SCOTCH_TEST_STANDALONE)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
target_compile_definitions(${ARGV0} PRIVATE SCOTCH_DEBUG_ALL)
endif()
@@ -218,12 +270,14 @@
# test_scotch_context
+if(NOT SCOTCH_TEST_STANDALONE)
add_test_scotch(test_scotch_context)
add_test(NAME test_scotch_context COMMAND test_scotch_context ${dat}/bump_b1.grf)
if(Threads_FOUND)
target_link_libraries(test_scotch_context PRIVATE Threads::Threads ${THREADS_PTHREADS_WIN32_LIBRARY})
endif(Threads_FOUND)
+endif(NOT SCOTCH_TEST_STANDALONE)
# test_graph_coarsen
@@ -331,7 +385,12 @@
function(add_exec_ptscotch)
add_executable(${ARGV0} ${ARGV0}.c)
set_target_properties(${ARGV0} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
- target_link_libraries(${ARGV0} ptscotch ptscotcherr)
+ if(SCOTCH_TEST_STANDALONE)
+ target_include_directories(${ARGV0} PRIVATE ${SCOTCH_INCLUDE_DIR} ${MPI_C_INCLUDE_DIRS})
+ target_link_libraries(${ARGV0} PRIVATE SCOTCH::ptscotch SCOTCH::ptscotcherr)
+ else()
+ target_link_libraries(${ARGV0} ptscotch ptscotcherr)
+ endif(SCOTCH_TEST_STANDALONE)
endfunction(add_exec_ptscotch)
function(add_test_ptscotch)
|