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