mul::info(): cache the result of the positiveness/negativeness checks, ...
[ginac.git] / check / CMakeLists.txt
1 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../ginac)
2 add_definitions(-DIN_GINAC)
3
4 set(ginac_tests
5         check_numeric
6         check_inifcns
7         check_matrices
8         check_lsolve
9         check_mul_info
10         heur_gcd_bug
11         exam_paranoia
12         exam_heur_gcd
13         match_bug
14         parser_bugs
15         exam_numeric_archive
16         exam_numeric
17         exam_powerlaws
18         exam_inifcns
19         exam_inifcns_nstdsums
20         exam_differentiation
21         exam_polygcd
22         exam_normalization
23         exam_factor
24         exam_pseries
25         exam_matrices
26         exam_lsolve
27         exam_indexed
28         exam_color
29         exam_clifford
30         exam_archive
31         exam_structure
32         exam_hashmap
33         exam_misc
34         exam_mod_gcd
35         exam_cra
36         bugme_chinrem_gcd
37         factor_univariate_bug
38         pgcd_relatively_prime_bug
39         pgcd_infinite_loop)
40
41 set(ginac_timings
42         time_dennyfliegner
43         time_gammaseries
44         time_vandermonde
45         time_toeplitz
46         time_hashmap
47         time_lw_A
48         time_lw_B
49         time_lw_C
50         time_lw_D
51         time_lw_E
52         time_lw_F
53         time_lw_G
54         time_lw_H
55         time_lw_IJKL
56         time_lw_M1
57         time_lw_M2
58         time_lw_N
59         time_lw_O
60         time_lw_P
61         time_lw_Pprime
62         time_lw_Q
63         time_lw_Qprime
64         time_antipode
65         time_fateman_expand
66         time_uvar_gcd
67         time_parser)
68
69 macro(add_ginac_test thename)
70         if ("${${thename}_sources}" STREQUAL "")
71                 set(${thename}_sources ${thename}.cpp ${${thename}_extra_src})
72         endif()
73         add_executable(${thename} EXCLUDE_FROM_ALL ${${thename}_sources})
74         target_link_libraries(${thename} ginac)
75         add_dependencies(check ${thename})
76         add_test(NAME ${thename} COMMAND ${thename}${CMAKE_EXECUTABLE_SUFFIX})
77 endmacro()
78
79 macro(add_ginac_timing thename)
80         set(${thename}_extra_src timer.cpp randomize_serials.cpp)
81         add_ginac_test(${thename})
82 endmacro()
83
84 set(check_matrices_extra_src genex.cpp)
85 set(check_lsolve_extra_src genex.cpp)
86 set(exam_heur_gcd_sources heur_gcd_bug.cpp)
87 set(exam_numeric_archive_sources numeric_archive.cpp)
88
89 foreach(tst ${ginac_tests})
90         add_ginac_test(${tst})
91 endforeach()
92
93 foreach(tmr ${ginac_timings})
94         add_ginac_timing(${tmr})
95 endforeach()
96