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