2 ${CMAKE_CURRENT_SOURCE_DIR}
4 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof")
7 # intrusive::FeldmanHashSet
8 set(UNIT_ISET_FELDMAN unit-iset-feldman)
9 set(UNIT_ISET_FELDMAN_SOURCES
11 intrusive_feldman_hashset_hp.cpp
12 intrusive_feldman_hashset_dhp.cpp
13 intrusive_feldman_hashset_rcu_gpb.cpp
14 intrusive_feldman_hashset_rcu_gpi.cpp
15 intrusive_feldman_hashset_rcu_gpt.cpp
16 intrusive_feldman_hashset_rcu_shb.cpp
18 add_executable(${UNIT_ISET_FELDMAN} ${UNIT_ISET_FELDMAN_SOURCES})
19 target_link_libraries(${UNIT_ISET_FELDMAN} ${CDS_TEST_LIBRARIES})
21 add_test(NAME ${UNIT_ISET_FELDMAN} COMMAND ${UNIT_ISET_FELDMAN} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
23 # intrusive::MichaelHashSet<MichaelList>
24 set(UNIT_ISET_MICHAEL unit-iset-michael)
25 set(UNIT_ISET_MICHAEL_SOURCES
27 intrusive_michael_michael_hp.cpp
28 intrusive_michael_michael_dhp.cpp
29 intrusive_michael_michael_nogc.cpp
30 intrusive_michael_michael_rcu_gpb.cpp
31 intrusive_michael_michael_rcu_gpi.cpp
32 intrusive_michael_michael_rcu_gpt.cpp
33 intrusive_michael_michael_rcu_shb.cpp
35 add_executable(${UNIT_ISET_MICHAEL} ${UNIT_ISET_MICHAEL_SOURCES})
36 target_link_libraries(${UNIT_ISET_MICHAEL} ${CDS_TEST_LIBRARIES})
37 add_test(NAME ${UNIT_ISET_MICHAEL} COMMAND ${UNIT_ISET_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
39 # intrusive::MichaelHashSet<LazyList>
40 set(UNIT_ISET_MICHAEL_LAZY unit-iset-michael-lazy)
41 set(UNIT_ISET_MICHAEL_LAZY_SOURCES
43 intrusive_michael_lazy_hp.cpp
44 intrusive_michael_lazy_dhp.cpp
45 intrusive_michael_lazy_nogc.cpp
46 intrusive_michael_lazy_rcu_gpb.cpp
47 intrusive_michael_lazy_rcu_gpi.cpp
48 intrusive_michael_lazy_rcu_gpt.cpp
49 intrusive_michael_lazy_rcu_shb.cpp
51 add_executable(${UNIT_ISET_MICHAEL_LAZY} ${UNIT_ISET_MICHAEL_LAZY_SOURCES})
52 target_link_libraries(${UNIT_ISET_MICHAEL_LAZY} ${CDS_TEST_LIBRARIES})
53 add_test(NAME ${UNIT_ISET_MICHAEL_LAZY} COMMAND ${UNIT_ISET_MICHAEL_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
55 # intrusive::MichaelHashSet<IterableList>
56 set(UNIT_ISET_MICHAEL_ITERABLE unit-iset-michael-iterable)
57 set(UNIT_ISET_MICHAEL_ITERABLE_SOURCES
59 intrusive_michael_iterable_dhp.cpp
60 intrusive_michael_iterable_hp.cpp
62 add_executable(${UNIT_ISET_MICHAEL_ITERABLE} ${UNIT_ISET_MICHAEL_ITERABLE_SOURCES})
63 target_link_libraries(${UNIT_ISET_MICHAEL_ITERABLE} ${CDS_TEST_LIBRARIES})
64 add_test(NAME ${UNIT_ISET_MICHAEL_ITERABLE} COMMAND ${UNIT_ISET_MICHAEL_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
66 # intrusive::SkipListSet
67 set(UNIT_ISET_SKIP unit-iset-skip)
68 set(UNIT_ISET_SKIP_SOURCES
70 intrusive_skiplist_hp.cpp
71 intrusive_skiplist_dhp.cpp
72 intrusive_skiplist_nogc.cpp
73 intrusive_skiplist_rcu_gpb.cpp
74 intrusive_skiplist_rcu_gpi.cpp
75 intrusive_skiplist_rcu_gpt.cpp
76 intrusive_skiplist_rcu_shb.cpp
78 add_executable(${UNIT_ISET_SKIP} ${UNIT_ISET_SKIP_SOURCES})
79 target_link_libraries(${UNIT_ISET_SKIP} ${CDS_TEST_LIBRARIES})
80 add_test(NAME ${UNIT_ISET_SKIP} COMMAND ${UNIT_ISET_SKIP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
82 # intrusive::SplitListSet<MichaelList>
83 set(UNIT_ISET_SPLIT_MICHAEL unit-iset-split-michael)
84 set(UNIT_ISET_SPLIT_MICHAEL_SOURCES
86 intrusive_split_michael_hp.cpp
87 intrusive_split_michael_dhp.cpp
88 intrusive_split_michael_nogc.cpp
89 intrusive_split_michael_rcu_gpb.cpp
90 intrusive_split_michael_rcu_gpi.cpp
91 intrusive_split_michael_rcu_gpt.cpp
92 intrusive_split_michael_rcu_shb.cpp
94 add_executable(${UNIT_ISET_SPLIT_MICHAEL} ${UNIT_ISET_SPLIT_MICHAEL_SOURCES})
95 target_link_libraries(${UNIT_ISET_SPLIT_MICHAEL} ${CDS_TEST_LIBRARIES})
96 add_test(NAME ${UNIT_ISET_SPLIT_MICHAEL} COMMAND ${UNIT_ISET_SPLIT_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
98 # intrusive::SplitListSet<LazyList>
99 set(UNIT_ISET_SPLIT_LAZY unit-iset-split-lazy)
100 set(UNIT_ISET_SPLIT_LAZY_SOURCES
102 intrusive_split_lazy_hp.cpp
103 intrusive_split_lazy_dhp.cpp
104 intrusive_split_lazy_nogc.cpp
105 intrusive_split_lazy_rcu_gpb.cpp
106 intrusive_split_lazy_rcu_gpi.cpp
107 intrusive_split_lazy_rcu_gpt.cpp
108 intrusive_split_lazy_rcu_shb.cpp
110 add_executable(${UNIT_ISET_SPLIT_LAZY} ${UNIT_ISET_SPLIT_LAZY_SOURCES})
111 target_link_libraries(${UNIT_ISET_SPLIT_LAZY} ${CDS_TEST_LIBRARIES})
112 add_test(NAME ${UNIT_ISET_SPLIT_LAZY} COMMAND ${UNIT_ISET_SPLIT_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
114 # intrusive::SplitListSet<IterableList>
115 set(UNIT_ISET_SPLIT_ITERABLE unit-iset-split-iterable)
116 set(UNIT_ISET_SPLIT_ITERABLE_SOURCES
118 intrusive_split_iterable_hp.cpp
119 intrusive_split_iterable_dhp.cpp
121 add_executable(${UNIT_ISET_SPLIT_ITERABLE} ${UNIT_ISET_SPLIT_ITERABLE_SOURCES})
122 target_link_libraries(${UNIT_ISET_SPLIT_ITERABLE} ${CDS_TEST_LIBRARIES})
123 add_test(NAME ${UNIT_ISET_SPLIT_ITERABLE} COMMAND ${UNIT_ISET_SPLIT_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
127 add_custom_target( unit-iset
131 ${UNIT_ISET_MICHAEL_ITERABLE}
132 ${UNIT_ISET_MICHAEL_LAZY}
134 ${UNIT_ISET_SPLIT_MICHAEL}
135 ${UNIT_ISET_SPLIT_ITERABLE}
136 ${UNIT_ISET_SPLIT_LAZY}