File: CMakeLists.txt

package info (click to toggle)
sopt 4.2.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,632 kB
  • sloc: cpp: 13,011; xml: 182; makefile: 6
file content (89 lines) | stat: -rw-r--r-- 3,290 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
add_library(common_catch_main_object OBJECT "common_catch_main.cc")

if(Catch2_FOUND)
  target_link_libraries(common_catch_main_object Catch2::Catch2)
endif()

if(EIGEN3_INCLUDE_DIR)
  target_include_directories(common_catch_main_object SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR})
endif()

if(onnxruntime_INCLUDE_DIR)
  target_include_directories(common_catch_main_object SYSTEM PUBLIC ${onnxruntime_INCLUDE_DIR})
endif()

target_include_directories(common_catch_main_object PUBLIC
  "${EXTERNAL_ROOT}/include/"
  "${PROJECT_BINARY_DIR}/include/"
  "${CMAKE_CURRENT_SOURCE_DIR}/.."
)

if(CATCH_HAS_THROWS_AS)
  add_definitions(-DCATCH_HAS_THROWS_AS)
endif()

set(RAND_SEED "1449580491")

add_catch_test(bisection_method LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(chained_operators LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(conjugate_gradient LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(credible_region LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(forward_backward LIBRARIES sopt tools_for_tests SEED ${RAND_SEED})
add_catch_test(linear_transform LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(maths LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(padmm LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(padmm_warm_start LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(primal_dual LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(proximal LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(reweighted LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(sdmm LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(sdmm_warm_start LIBRARIES sopt SEED ${RAND_SEED})
add_catch_test(wrapper LIBRARIES sopt SEED ${RAND_SEED})

if(onnxrt)
  add_catch_test(ort_model LIBRARIES sopt ${onnxruntime_LIBRARIES})
  add_catch_test(tf_model LIBRARIES sopt tools_for_tests ${onnxruntime_LIBRARIES})
  add_catch_test(tf_inpainting LIBRARIES sopt tools_for_tests ${onnxruntime_LIBRARIES} SEED ${RAND_SEED})
endif()

install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/test_data DESTINATION .)

if(SOPT_MPI)
  add_library(common_mpi_catch_main_object OBJECT common_mpi_catch_main.cc)

  target_include_directories(common_mpi_catch_main_object
    PUBLIC ${PROJECT_SOURCE_DIR}/cpp ${PROJECT_BINARY_DIR}/include ${MPI_CXX_INCLUDE_PATH})

  if(Catch2_FOUND)
    target_link_libraries(common_mpi_catch_main_object Catch2::Catch2)
  endif()

  if(EIGEN3_INCLUDE_DIR)
    target_include_directories(common_mpi_catch_main_object SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR})
  endif()

  function(add_mpi_test_from_test testname)
    unset(arguments)
    if(CATCH_JUNIT)
      set(arguments -r junit -o ${PROJECT_BINARY_DIR}/Testing/${testname}.xml)
    endif()
    if(NOT MPIEXEC_MAX_NUMPROCS)
      set(MPIEXEC_MAX_NUMPROCS 4)
    endif()
    add_test(NAME ${testname}
      COMMAND
      ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS}
      "./test_${testname}" ${arguments})
    set_tests_properties(${testname} PROPERTIES LABELS "catch;mpi")
  endfunction()

  function(add_mpi_test testname)
    add_catch_test(${testname} COMMON_MAIN common_mpi_catch_main_object NOTEST ${ARGN})
    add_mpi_test_from_test(${testname})
  endfunction()

  add_mpi_test(mpi_wavelets LIBRARIES sopt)

  add_catch_test(mpi_session NOMAIN LIBRARIES sopt NOTEST)
  add_mpi_test_from_test(mpi_session)
endif()