Clarify types of test suite files.
[ginac.git] / check / CMakeLists.txt
1
2 set(ginac_exams
3         exam_paranoia
4         exam_heur_gcd
5         exam_match
6         exam_parser
7         exam_numeric
8         exam_powerlaws
9         exam_inifcns
10         exam_inifcns_nstdsums
11         exam_inifcns_elliptic
12         exam_differentiation
13         exam_polygcd
14         exam_collect_common_factors
15         exam_normalization
16         exam_sqrfree
17         exam_factor
18         exam_pseries
19         exam_matrices
20         exam_lsolve
21         exam_indexed
22         exam_color
23         exam_clifford
24         exam_archive
25         exam_structure
26         exam_misc
27         exam_pgcd
28         exam_mod_gcd
29         exam_real_imag
30         exam_chinrem_gcd)
31
32 set(ginac_checks
33         check_numeric
34         check_inifcns
35         check_matrices
36         check_lsolve
37         check_cra)
38
39 set(ginac_timings
40         time_dennyfliegner
41         time_gammaseries
42         time_vandermonde
43         time_toeplitz
44         time_lw_A
45         time_lw_B
46         time_lw_C
47         time_lw_D
48         time_lw_E
49         time_lw_F
50         time_lw_G
51         time_lw_H
52         time_lw_IJKL
53         time_lw_M1
54         time_lw_M2
55         time_lw_N
56         time_lw_O
57         time_lw_P
58         time_lw_Pprime
59         time_lw_Q
60         time_lw_Qprime
61         time_antipode
62         time_fateman_expand
63         time_uvar_gcd
64         time_parser)
65
66 macro(add_ginac_test thename)
67         if ("${${thename}_sources}" STREQUAL "")
68                 set(${thename}_sources ${thename}.cpp ${${thename}_extra_src})
69         endif()
70         add_executable(${thename} EXCLUDE_FROM_ALL ${${thename}_sources})
71         target_link_libraries(${thename} ginac::ginac)
72         add_dependencies(test_suite ${thename})
73         add_dependencies(check ${thename})
74         add_test(NAME ${thename} COMMAND $<TARGET_FILE:${thename}>)
75 endmacro()
76
77 macro(add_ginac_timing thename)
78         set(${thename}_extra_src timer.cpp randomize_serials.cpp)
79         add_ginac_test(${thename})
80         target_compile_definitions(${thename} PRIVATE HAVE_CONFIG_H)
81 endmacro()
82
83 set(check_matrices_extra_src genex.cpp)
84 set(check_lsolve_extra_src genex.cpp)
85
86 foreach(exm ${ginac_exams})
87         add_ginac_test(${exm})
88 endforeach()
89
90 foreach(chk ${ginac_checks})
91         add_ginac_test(${chk})
92 endforeach()
93
94 foreach(tmr ${ginac_timings})
95         add_ginac_timing(${tmr})
96 endforeach()
97