Splitted some unit tests to reduce memory consumption in compile time
[libcds.git] / test / unit / set / CMakeLists.txt
1 include_directories(
2     ${CMAKE_CURRENT_SOURCE_DIR}
3 )
4
5 # FeldmanHashSet
6 set(UNIT_SET_FELDMAN unit-set-feldman)
7 set(UNIT_SET_FELDMAN_SOURCES
8     ../main.cpp
9     feldman_hashset_hp.cpp
10     feldman_hashset_dhp.cpp
11     feldman_hashset_rcu_gpb.cpp
12     feldman_hashset_rcu_gpi.cpp
13     feldman_hashset_rcu_gpt.cpp
14     feldman_hashset_rcu_shb.cpp
15     feldman_hashset_rcu_sht.cpp
16 )
17 add_executable(${UNIT_SET_FELDMAN} ${UNIT_SET_FELDMAN_SOURCES})
18 target_link_libraries(${UNIT_SET_FELDMAN} 
19     ${CDS_SHARED_LIBRARY}
20     ${GTEST_LIBRARY}
21     ${Boost_THREAD_LIBRARY}
22     ${Boost_SYSTEM_LIBRARY}
23     ${CMAKE_THREAD_LIBS_INIT}
24 )
25 add_test(NAME ${UNIT_SET_FELDMAN} COMMAND ${UNIT_SET_FELDMAN} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
26
27 # MichaelSet<MichaelList>
28 set(UNIT_SET_MICHAEL unit-set-michael)
29 set(UNIT_SET_MICHAEL_SOURCES
30     ../main.cpp
31     michael_michael_hp.cpp
32     michael_michael_dhp.cpp
33     michael_michael_nogc.cpp
34     michael_michael_rcu_gpb.cpp
35     michael_michael_rcu_gpi.cpp
36     michael_michael_rcu_gpt.cpp
37     michael_michael_rcu_shb.cpp
38     michael_michael_rcu_sht.cpp
39 )
40 add_executable(${UNIT_SET_MICHAEL} ${UNIT_SET_MICHAEL_SOURCES})
41 target_link_libraries(${UNIT_SET_MICHAEL} 
42     ${CDS_SHARED_LIBRARY}
43     ${GTEST_LIBRARY}
44     ${Boost_THREAD_LIBRARY}
45     ${Boost_SYSTEM_LIBRARY}
46     ${CMAKE_THREAD_LIBS_INIT}
47 )
48 add_test(NAME ${UNIT_SET_MICHAEL} COMMAND ${UNIT_SET_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
49
50 # MichaelSet<IterableList>
51 set(UNIT_SET_MICHAEL_ITERABLE unit-set-michael-iterable)
52 set(UNIT_SET_MICHAEL_ITERABLE_SOURCES
53     ../main.cpp
54     michael_iterable_hp.cpp
55     michael_iterable_dhp.cpp
56 )
57 add_executable(${UNIT_SET_MICHAEL_ITERABLE} ${UNIT_SET_MICHAEL_ITERABLE_SOURCES})
58 target_link_libraries(${UNIT_SET_MICHAEL_ITERABLE} 
59     ${CDS_SHARED_LIBRARY}
60     ${GTEST_LIBRARY}
61     ${Boost_THREAD_LIBRARY}
62     ${Boost_SYSTEM_LIBRARY}
63     ${CMAKE_THREAD_LIBS_INIT}
64 )
65 add_test(NAME ${UNIT_SET_MICHAEL_ITERABLE} COMMAND ${UNIT_SET_MICHAEL_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
66
67 # MichaelSet<LazyList>
68 set(UNIT_SET_MICHAEL_LAZY unit-set-michael-lazy)
69 set(UNIT_SET_MICHAEL_LAZY_SOURCES
70     ../main.cpp
71     michael_lazy_hp.cpp
72     michael_lazy_dhp.cpp
73     michael_lazy_nogc.cpp
74     michael_lazy_rcu_gpb.cpp
75     michael_lazy_rcu_gpi.cpp
76     michael_lazy_rcu_gpt.cpp
77     michael_lazy_rcu_shb.cpp
78     michael_lazy_rcu_sht.cpp
79 )
80 add_executable(${UNIT_SET_MICHAEL_LAZY} ${UNIT_SET_MICHAEL_LAZY_SOURCES})
81 target_link_libraries(${UNIT_SET_MICHAEL_LAZY} 
82     ${CDS_SHARED_LIBRARY}
83     ${GTEST_LIBRARY}
84     ${Boost_THREAD_LIBRARY}
85     ${Boost_SYSTEM_LIBRARY}
86     ${CMAKE_THREAD_LIBS_INIT}
87 )
88 add_test(NAME ${UNIT_SET_MICHAEL_LAZY} COMMAND ${UNIT_SET_MICHAEL_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
89
90 # SkipListSet
91 set(UNIT_SET_SKIP unit-set-skip)
92 set(UNIT_SET_SKIP_SOURCES
93     ../main.cpp
94     skiplist_hp.cpp
95     skiplist_dhp.cpp
96     skiplist_nogc.cpp
97     skiplist_rcu_gpb.cpp
98     skiplist_rcu_gpi.cpp
99     skiplist_rcu_gpt.cpp
100     skiplist_rcu_shb.cpp
101     skiplist_rcu_sht.cpp
102 )
103 add_executable(${UNIT_SET_SKIP} ${UNIT_SET_SKIP_SOURCES})
104 target_link_libraries(${UNIT_SET_SKIP} 
105     ${CDS_SHARED_LIBRARY}
106     ${GTEST_LIBRARY}
107     ${Boost_THREAD_LIBRARY}
108     ${Boost_SYSTEM_LIBRARY}
109     ${CMAKE_THREAD_LIBS_INIT}
110 )
111 add_test(NAME ${UNIT_SET_SKIP} COMMAND ${UNIT_SET_SKIP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
112
113 # SplitListSet<MichaelList>
114 set(UNIT_SET_SPLIT_MICHAEL unit-set-split-michael)
115 set(UNIT_SET_SPLIT_MICHAEL_SOURCES
116     ../main.cpp
117     split_michael_hp.cpp
118     split_michael_dhp.cpp
119     split_michael_nogc.cpp
120     split_michael_rcu_gpb.cpp
121     split_michael_rcu_gpi.cpp
122     split_michael_rcu_gpt.cpp
123     split_michael_rcu_shb.cpp
124     split_michael_rcu_sht.cpp
125 )
126 add_executable(${UNIT_SET_SPLIT_MICHAEL} ${UNIT_SET_SPLIT_MICHAEL_SOURCES})
127 target_link_libraries(${UNIT_SET_SPLIT_MICHAEL} 
128     ${CDS_SHARED_LIBRARY}
129     ${GTEST_LIBRARY}
130     ${Boost_THREAD_LIBRARY}
131     ${Boost_SYSTEM_LIBRARY}
132     ${CMAKE_THREAD_LIBS_INIT}
133 )
134 add_test(NAME ${UNIT_SET_SPLIT_MICHAEL} COMMAND ${UNIT_SET_SPLIT_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
135
136 # SplitListSet<LazyList>
137 set(UNIT_SET_SPLIT_LAZY unit-set-split-lazy)
138 set(UNIT_SET_SPLIT_LAZY_SOURCES
139     ../main.cpp
140     split_lazy_hp.cpp
141     split_lazy_dhp.cpp
142     split_lazy_nogc.cpp
143     split_lazy_rcu_gpb.cpp
144     split_lazy_rcu_gpi.cpp
145     split_lazy_rcu_gpt.cpp
146     split_lazy_rcu_shb.cpp
147     split_lazy_rcu_sht.cpp
148 )
149 add_executable(${UNIT_SET_SPLIT_LAZY} ${UNIT_SET_SPLIT_LAZY_SOURCES})
150 target_link_libraries(${UNIT_SET_SPLIT_LAZY} 
151     ${CDS_SHARED_LIBRARY}
152     ${GTEST_LIBRARY}
153     ${Boost_THREAD_LIBRARY}
154     ${Boost_SYSTEM_LIBRARY}
155     ${CMAKE_THREAD_LIBS_INIT}
156 )
157 add_test(NAME ${UNIT_SET_SPLIT_LAZY} COMMAND ${UNIT_SET_SPLIT_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
158
159 # SplitListSet<IterableList>
160 set(UNIT_SET_SPLIT_ITERABLE unit-set-split-iterable)
161 set(UNIT_SET_SPLIT_ITERABLE_SOURCES
162     ../main.cpp
163     split_iterable_hp.cpp
164     split_iterable_dhp.cpp
165 )
166 add_executable(${UNIT_SET_SPLIT_ITERABLE} ${UNIT_SET_SPLIT_ITERABLE_SOURCES})
167 target_link_libraries(${UNIT_SET_SPLIT_ITERABLE} 
168     ${CDS_SHARED_LIBRARY}
169     ${GTEST_LIBRARY}
170     ${Boost_THREAD_LIBRARY}
171     ${Boost_SYSTEM_LIBRARY}
172     ${CMAKE_THREAD_LIBS_INIT}
173 )
174 add_test(NAME ${UNIT_SET_SPLIT_ITERABLE} COMMAND ${UNIT_SET_SPLIT_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
175
176
177 add_custom_target( unit-set
178     DEPENDS
179         ${UNIT_SET_FELDMAN}
180         ${UNIT_SET_MICHAEL}
181         ${UNIT_SET_MICHAEL_ITERABLE}
182         ${UNIT_SET_MICHAEL_LAZY}
183         ${UNIT_SET_SKIP_LIST}
184         ${UNIT_SET_SPLIT_MICHAEL}
185         ${UNIT_SET_SPLIT_ITERABLE}
186         ${UNIT_SET_SPLIT_LAZY}
187 )