File: standalone_tests.patch

package info (click to toggle)
scotch 7.0.10-1exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 24,984 kB
  • sloc: ansic: 89,593; makefile: 4,709; fortran: 2,536; yacc: 642; sh: 260; lex: 259
file content (105 lines) | stat: -rw-r--r-- 3,438 bytes parent folder | download
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)