Finalize 1.7.6 release.
[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         exam_real_imag
37         bugme_chinrem_gcd
38         factor_univariate_bug
39         pgcd_relatively_prime_bug
40         pgcd_infinite_loop)
41
42 set(ginac_timings
43         time_dennyfliegner
44         time_gammaseries
45         time_vandermonde
46         time_toeplitz
47         time_hashmap
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 ${LIBDL_LIBRARIES})
76         add_dependencies(check ${thename})
77         add_test(NAME ${thename} COMMAND ${thename}${CMAKE_EXECUTABLE_SUFFIX})
78 endmacro()
79
80 macro(add_ginac_timing thename)
81         set(${thename}_extra_src timer.cpp randomize_serials.cpp)
82         add_ginac_test(${thename})
83 endmacro()
84
85 set(check_matrices_extra_src genex.cpp)
86 set(check_lsolve_extra_src genex.cpp)
87 set(exam_heur_gcd_sources heur_gcd_bug.cpp)
88 set(exam_numeric_archive_sources numeric_archive.cpp)
89
90 foreach(tst ${ginac_tests})
91         add_ginac_test(${tst})
92 endforeach()
93
94 foreach(tmr ${ginac_timings})
95         add_ginac_timing(${tmr})
96 endforeach()
97