2 ${CMAKE_CURRENT_SOURCE_DIR}
6 set(UNIT_SET_FELDMAN unit-set-feldman)
7 set(UNIT_SET_FELDMAN_SOURCES
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
17 add_executable(${UNIT_SET_FELDMAN} ${UNIT_SET_FELDMAN_SOURCES})
18 target_link_libraries(${UNIT_SET_FELDMAN}
21 ${Boost_THREAD_LIBRARY}
22 ${Boost_SYSTEM_LIBRARY}
23 ${CMAKE_THREAD_LIBS_INIT}
25 add_test(NAME ${UNIT_SET_FELDMAN} COMMAND ${UNIT_SET_FELDMAN} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
27 # MichaelSet<MichaelList>
28 set(UNIT_SET_MICHAEL unit-set-michael)
29 set(UNIT_SET_MICHAEL_SOURCES
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
40 add_executable(${UNIT_SET_MICHAEL} ${UNIT_SET_MICHAEL_SOURCES})
41 target_link_libraries(${UNIT_SET_MICHAEL}
44 ${Boost_THREAD_LIBRARY}
45 ${Boost_SYSTEM_LIBRARY}
46 ${CMAKE_THREAD_LIBS_INIT}
48 add_test(NAME ${UNIT_SET_MICHAEL} COMMAND ${UNIT_SET_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
50 # MichaelSet<IterableList>
51 set(UNIT_SET_MICHAEL_ITERABLE unit-set-michael-iterable)
52 set(UNIT_SET_MICHAEL_ITERABLE_SOURCES
54 michael_iterable_hp.cpp
55 michael_iterable_dhp.cpp
57 add_executable(${UNIT_SET_MICHAEL_ITERABLE} ${UNIT_SET_MICHAEL_ITERABLE_SOURCES})
58 target_link_libraries(${UNIT_SET_MICHAEL_ITERABLE}
61 ${Boost_THREAD_LIBRARY}
62 ${Boost_SYSTEM_LIBRARY}
63 ${CMAKE_THREAD_LIBS_INIT}
65 add_test(NAME ${UNIT_SET_MICHAEL_ITERABLE} COMMAND ${UNIT_SET_MICHAEL_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
67 # MichaelSet<LazyList>
68 set(UNIT_SET_MICHAEL_LAZY unit-set-michael-lazy)
69 set(UNIT_SET_MICHAEL_LAZY_SOURCES
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
80 add_executable(${UNIT_SET_MICHAEL_LAZY} ${UNIT_SET_MICHAEL_LAZY_SOURCES})
81 target_link_libraries(${UNIT_SET_MICHAEL_LAZY}
84 ${Boost_THREAD_LIBRARY}
85 ${Boost_SYSTEM_LIBRARY}
86 ${CMAKE_THREAD_LIBS_INIT}
88 add_test(NAME ${UNIT_SET_MICHAEL_LAZY} COMMAND ${UNIT_SET_MICHAEL_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
91 set(UNIT_SET_SKIP unit-set-skip)
92 set(UNIT_SET_SKIP_SOURCES
103 add_executable(${UNIT_SET_SKIP} ${UNIT_SET_SKIP_SOURCES})
104 target_link_libraries(${UNIT_SET_SKIP}
105 ${CDS_SHARED_LIBRARY}
107 ${Boost_THREAD_LIBRARY}
108 ${Boost_SYSTEM_LIBRARY}
109 ${CMAKE_THREAD_LIBS_INIT}
111 add_test(NAME ${UNIT_SET_SKIP} COMMAND ${UNIT_SET_SKIP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
113 # SplitListSet<MichaelList>
114 set(UNIT_SET_SPLIT_MICHAEL unit-set-split-michael)
115 set(UNIT_SET_SPLIT_MICHAEL_SOURCES
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
126 add_executable(${UNIT_SET_SPLIT_MICHAEL} ${UNIT_SET_SPLIT_MICHAEL_SOURCES})
127 target_link_libraries(${UNIT_SET_SPLIT_MICHAEL}
128 ${CDS_SHARED_LIBRARY}
130 ${Boost_THREAD_LIBRARY}
131 ${Boost_SYSTEM_LIBRARY}
132 ${CMAKE_THREAD_LIBS_INIT}
134 add_test(NAME ${UNIT_SET_SPLIT_MICHAEL} COMMAND ${UNIT_SET_SPLIT_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
136 # SplitListSet<LazyList>
137 set(UNIT_SET_SPLIT_LAZY unit-set-split-lazy)
138 set(UNIT_SET_SPLIT_LAZY_SOURCES
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
149 add_executable(${UNIT_SET_SPLIT_LAZY} ${UNIT_SET_SPLIT_LAZY_SOURCES})
150 target_link_libraries(${UNIT_SET_SPLIT_LAZY}
151 ${CDS_SHARED_LIBRARY}
153 ${Boost_THREAD_LIBRARY}
154 ${Boost_SYSTEM_LIBRARY}
155 ${CMAKE_THREAD_LIBS_INIT}
157 add_test(NAME ${UNIT_SET_SPLIT_LAZY} COMMAND ${UNIT_SET_SPLIT_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
159 # SplitListSet<IterableList>
160 set(UNIT_SET_SPLIT_ITERABLE unit-set-split-iterable)
161 set(UNIT_SET_SPLIT_ITERABLE_SOURCES
163 split_iterable_hp.cpp
164 split_iterable_dhp.cpp
166 add_executable(${UNIT_SET_SPLIT_ITERABLE} ${UNIT_SET_SPLIT_ITERABLE_SOURCES})
167 target_link_libraries(${UNIT_SET_SPLIT_ITERABLE}
168 ${CDS_SHARED_LIBRARY}
170 ${Boost_THREAD_LIBRARY}
171 ${Boost_SYSTEM_LIBRARY}
172 ${CMAKE_THREAD_LIBS_INIT}
174 add_test(NAME ${UNIT_SET_SPLIT_ITERABLE} COMMAND ${UNIT_SET_SPLIT_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
177 add_custom_target( unit-set
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}