Fixed cmake script
[libcds.git] / test / unit / intrusive-set / CMakeLists.txt
1 include_directories(
2     ${CMAKE_CURRENT_SOURCE_DIR}
3 )
4 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof")
5
6
7 # intrusive::FeldmanHashSet
8 set(UNIT_ISET_FELDMAN unit-iset-feldman)
9 set(UNIT_ISET_FELDMAN_SOURCES
10     ../main.cpp
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
17     intrusive_feldman_hashset_rcu_sht.cpp
18 )
19 add_executable(${UNIT_ISET_FELDMAN} ${UNIT_ISET_FELDMAN_SOURCES})
20 target_link_libraries(${UNIT_ISET_FELDMAN} 
21     ${CDS_SHARED_LIBRARY}
22     ${GTEST_LIBRARY}
23     ${Boost_THREAD_LIBRARY}
24     ${Boost_SYSTEM_LIBRARY}
25     ${CMAKE_THREAD_LIBS_INIT}
26 )
27 add_test(NAME ${UNIT_ISET_FELDMAN} COMMAND ${UNIT_ISET_FELDMAN} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
28
29 # intrusive::MichaelHashSet<MichaelList>
30 set(UNIT_ISET_MICHAEL unit-iset-michael)
31 set(UNIT_ISET_MICHAEL_SOURCES
32     ../main.cpp
33     intrusive_michael_michael_hp.cpp
34     intrusive_michael_michael_dhp.cpp
35     intrusive_michael_michael_nogc.cpp
36     intrusive_michael_michael_rcu_gpb.cpp
37     intrusive_michael_michael_rcu_gpi.cpp
38     intrusive_michael_michael_rcu_gpt.cpp
39     intrusive_michael_michael_rcu_shb.cpp
40     intrusive_michael_michael_rcu_sht.cpp
41 )
42 add_executable(${UNIT_ISET_MICHAEL} ${UNIT_ISET_MICHAEL_SOURCES})
43 target_link_libraries(${UNIT_ISET_MICHAEL} 
44     ${CDS_SHARED_LIBRARY}
45     ${GTEST_LIBRARY}
46     ${Boost_THREAD_LIBRARY}
47     ${Boost_SYSTEM_LIBRARY}
48     ${CMAKE_THREAD_LIBS_INIT}
49 )
50 add_test(NAME ${UNIT_ISET_MICHAEL} COMMAND ${UNIT_ISET_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
51
52 # intrusive::MichaelHashSet<LazyList>
53 set(UNIT_ISET_MICHAEL_LAZY unit-iset-michael-lazy)
54 set(UNIT_ISET_MICHAEL_LAZY_SOURCES
55     ../main.cpp
56     intrusive_michael_lazy_hp.cpp
57     intrusive_michael_lazy_dhp.cpp
58     intrusive_michael_lazy_nogc.cpp
59     intrusive_michael_lazy_rcu_gpb.cpp
60     intrusive_michael_lazy_rcu_gpi.cpp
61     intrusive_michael_lazy_rcu_gpt.cpp
62     intrusive_michael_lazy_rcu_shb.cpp
63     intrusive_michael_lazy_rcu_sht.cpp
64 )
65 add_executable(${UNIT_ISET_MICHAEL_LAZY} ${UNIT_ISET_MICHAEL_LAZY_SOURCES})
66 target_link_libraries(${UNIT_ISET_MICHAEL_LAZY} 
67     ${CDS_SHARED_LIBRARY}
68     ${GTEST_LIBRARY}
69     ${Boost_THREAD_LIBRARY}
70     ${Boost_SYSTEM_LIBRARY}
71     ${CMAKE_THREAD_LIBS_INIT}
72 )
73 add_test(NAME ${UNIT_ISET_MICHAEL_LAZY} COMMAND ${UNIT_ISET_MICHAEL_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
74
75 # intrusive::MichaelHashSet<IterableList>
76 set(UNIT_ISET_MICHAEL_ITERABLE unit-iset-michael-iterable)
77 set(UNIT_ISET_MICHAEL_ITERABLE_SOURCES
78     ../main.cpp
79     intrusive_michael_iterable_dhp.cpp
80     intrusive_michael_iterable_hp.cpp
81 )
82 add_executable(${UNIT_ISET_MICHAEL_ITERABLE} ${UNIT_ISET_MICHAEL_ITERABLE_SOURCES})
83 target_link_libraries(${UNIT_ISET_MICHAEL_ITERABLE} 
84     ${CDS_SHARED_LIBRARY}
85     ${GTEST_LIBRARY}
86     ${Boost_THREAD_LIBRARY}
87     ${Boost_SYSTEM_LIBRARY}
88     ${CMAKE_THREAD_LIBS_INIT}
89 )
90 add_test(NAME ${UNIT_ISET_MICHAEL_ITERABLE} COMMAND ${UNIT_ISET_MICHAEL_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
91
92 # intrusive::SkipListSet
93 set(UNIT_ISET_SKIP unit-iset-skip)
94 set(UNIT_ISET_SKIP_SOURCES
95     ../main.cpp
96     intrusive_skiplist_hp.cpp
97     intrusive_skiplist_dhp.cpp
98     intrusive_skiplist_nogc.cpp
99     intrusive_skiplist_rcu_gpb.cpp
100     intrusive_skiplist_rcu_gpi.cpp
101     intrusive_skiplist_rcu_gpt.cpp
102     intrusive_skiplist_rcu_shb.cpp
103     intrusive_skiplist_rcu_sht.cpp
104 )
105 add_executable(${UNIT_ISET_SKIP} ${UNIT_ISET_SKIP_SOURCES})
106 target_link_libraries(${UNIT_ISET_SKIP} 
107     ${CDS_SHARED_LIBRARY}
108     ${GTEST_LIBRARY}
109     ${Boost_THREAD_LIBRARY}
110     ${Boost_SYSTEM_LIBRARY}
111     ${CMAKE_THREAD_LIBS_INIT}
112 )
113 add_test(NAME ${UNIT_ISET_SKIP} COMMAND ${UNIT_ISET_SKIP} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
114
115 # intrusive::SplitListSet<MichaelList>
116 set(UNIT_ISET_SPLIT_MICHAEL unit-iset-split-michael)
117 set(UNIT_ISET_SPLIT_MICHAEL_SOURCES
118     ../main.cpp
119     intrusive_split_michael_hp.cpp
120     intrusive_split_michael_dhp.cpp
121     intrusive_split_michael_nogc.cpp
122     intrusive_split_michael_rcu_gpb.cpp
123     intrusive_split_michael_rcu_gpi.cpp
124     intrusive_split_michael_rcu_gpt.cpp
125     intrusive_split_michael_rcu_shb.cpp
126     intrusive_split_michael_rcu_sht.cpp
127 )
128 add_executable(${UNIT_ISET_SPLIT_MICHAEL} ${UNIT_ISET_SPLIT_MICHAEL_SOURCES})
129 target_link_libraries(${UNIT_ISET_SPLIT_MICHAEL} 
130     ${CDS_SHARED_LIBRARY}
131     ${GTEST_LIBRARY}
132     ${Boost_THREAD_LIBRARY}
133     ${Boost_SYSTEM_LIBRARY}
134     ${CMAKE_THREAD_LIBS_INIT}
135 )
136 add_test(NAME ${UNIT_ISET_SPLIT_MICHAEL} COMMAND ${UNIT_ISET_SPLIT_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
137
138 # intrusive::SplitListSet<LazyList>
139 set(UNIT_ISET_SPLIT_LAZY unit-iset-split-lazy)
140 set(UNIT_ISET_SPLIT_LAZY_SOURCES
141     ../main.cpp
142     intrusive_split_lazy_hp.cpp
143     intrusive_split_lazy_dhp.cpp
144     intrusive_split_lazy_nogc.cpp
145     intrusive_split_lazy_rcu_gpb.cpp
146     intrusive_split_lazy_rcu_gpi.cpp
147     intrusive_split_lazy_rcu_gpt.cpp
148     intrusive_split_lazy_rcu_shb.cpp
149     intrusive_split_lazy_rcu_sht.cpp
150 )
151 add_executable(${UNIT_ISET_SPLIT_LAZY} ${UNIT_ISET_SPLIT_LAZY_SOURCES})
152 target_link_libraries(${UNIT_ISET_SPLIT_LAZY} 
153     ${CDS_SHARED_LIBRARY}
154     ${GTEST_LIBRARY}
155     ${Boost_THREAD_LIBRARY}
156     ${Boost_SYSTEM_LIBRARY}
157     ${CMAKE_THREAD_LIBS_INIT}
158 )
159 add_test(NAME ${UNIT_ISET_SPLIT_LAZY} COMMAND ${UNIT_ISET_SPLIT_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
160
161 # intrusive::SplitListSet<IterableList>
162 set(UNIT_ISET_SPLIT_ITERABLE unit-iset-split-iterable)
163 set(UNIT_ISET_SPLIT_ITERABLE_SOURCES
164     ../main.cpp
165     intrusive_split_iterable_hp.cpp
166     intrusive_split_iterable_dhp.cpp
167 )
168 add_executable(${UNIT_ISET_SPLIT_ITERABLE} ${UNIT_ISET_SPLIT_ITERABLE_SOURCES})
169 target_link_libraries(${UNIT_ISET_SPLIT_ITERABLE} 
170     ${CDS_SHARED_LIBRARY}
171     ${GTEST_LIBRARY}
172     ${Boost_THREAD_LIBRARY}
173     ${Boost_SYSTEM_LIBRARY}
174     ${CMAKE_THREAD_LIBS_INIT}
175 )
176 add_test(NAME ${UNIT_ISET_SPLIT_ITERABLE} COMMAND ${UNIT_ISET_SPLIT_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
177
178
179
180 add_custom_target( unit-iset
181     DEPENDS
182         ${UNIT_ISET_FELDMAN}
183         ${UNIT_ISET_MICHAEL}
184         ${UNIT_ISET_MICHAEL_ITERABLE}
185         ${UNIT_ISET_MICHAEL_LAZY}
186         ${UNIT_ISET_SKIP_LIST}
187         ${UNIT_ISET_SPLIT_MICHAEL}
188         ${UNIT_ISET_SPLIT_ITERABLE}
189         ${UNIT_ISET_SPLIT_LAZY}
190 )
191
192