0243617cb97710ff640645ef5904c252e469924b
[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         heur_gcd_bug
10         exam_paranoia
11         exam_heur_gcd
12         match_bug
13         parser_bugs
14         exam_numeric_archive
15         exam_numeric
16         exam_powerlaws
17         exam_inifcns
18         exam_inifcns_nstdsums
19         exam_differentiation
20         exam_polygcd
21         exam_normalization
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_hashmap
32         exam_misc
33         exam_mod_gcd
34         exam_cra
35         bugme_chinrem_gcd
36         pgcd_relatively_prime_bug
37         pgcd_infinite_loop)
38
39 set(ginac_timings
40         time_dennyfliegner
41         time_gammaseries
42         time_vandermonde
43         time_toeplitz
44         time_hashmap
45         time_lw_A
46         time_lw_B
47         time_lw_C
48         time_lw_D
49         time_lw_E
50         time_lw_F
51         time_lw_G
52         time_lw_H
53         time_lw_IJKL
54         time_lw_M1
55         time_lw_M2
56         time_lw_N
57         time_lw_O
58         time_lw_P
59         time_lw_Pprime
60         time_lw_Q
61         time_lw_Qprime
62         time_antipode
63         time_fateman_expand
64         time_uvar_gcd
65         time_parser)
66
67 macro(add_ginac_test thename)
68         if ("${${thename}_sources}" STREQUAL "")
69                 set(${thename}_sources ${thename}.cpp ${${thename}_extra_src})
70         endif()
71         add_executable(${thename} EXCLUDE_FROM_ALL ${${thename}_sources})
72         target_link_libraries(${thename} ginac)
73         add_dependencies(check ${thename})
74         add_test(NAME ${thename} COMMAND ${thename}${CMAKE_EXECUTABLE_SUFFIX})
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 endmacro()
81
82 set(check_matrices_extra_src genex.cpp)
83 set(check_lsolve_extra_src genex.cpp)
84 set(exam_heur_gcd_sources heur_gcd_bug.cpp)
85 set(exam_numeric_archive_sources numeric_archive.cpp)
86
87 foreach(tst ${ginac_tests})
88         add_ginac_test(${tst})
89 endforeach()
90
91 foreach(tmr ${ginac_timings})
92         add_ginac_timing(${tmr})
93 endforeach()
94