Splitted some unit tests to reduce memory consumption in compile time
[libcds.git] / test / unit / list / CMakeLists.txt
index e94c5a623783733f3260934e426d6e958d4ee079..41720e3fb671869244c728c6e1935d60ed0690d6 100644 (file)
@@ -1,11 +1,30 @@
-set(PACKAGE_NAME unit-list)
+include_directories(
+    ${CMAKE_CURRENT_SOURCE_DIR}
+)
 
-set(CDSGTEST_LIST_SOURCES
+# IterableList
+set(UNIT_LIST_ITERABLE unit-list-iterable)
+set(UNIT_LIST_ITERABLE_SOURCES
     ../main.cpp
     iterable_hp.cpp
     iterable_dhp.cpp
     kv_iterable_hp.cpp
     kv_iterable_dhp.cpp
+)
+add_executable(${UNIT_LIST_ITERABLE} ${UNIT_LIST_ITERABLE_SOURCES})
+target_link_libraries(${UNIT_LIST_ITERABLE} 
+    ${CDS_SHARED_LIBRARY}
+    ${GTEST_LIBRARY}
+    ${Boost_THREAD_LIBRARY}
+    ${Boost_SYSTEM_LIBRARY}
+    ${CMAKE_THREAD_LIBS_INIT}
+)
+add_test(NAME ${UNIT_LIST_ITERABLE} COMMAND ${UNIT_LIST_ITERABLE} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
+
+# LazyList
+set(UNIT_LIST_LAZY unit-list-lazy)
+set(UNIT_LIST_LAZY_SOURCES
+    ../main.cpp
     kv_lazy_hp.cpp
     kv_lazy_dhp.cpp
     kv_lazy_nogc.cpp
@@ -14,14 +33,6 @@ set(CDSGTEST_LIST_SOURCES
     kv_lazy_rcu_gpt.cpp
     kv_lazy_rcu_shb.cpp
     kv_lazy_rcu_sht.cpp
-    kv_michael_hp.cpp
-    kv_michael_dhp.cpp
-    kv_michael_nogc.cpp
-    kv_michael_rcu_gpb.cpp
-    kv_michael_rcu_gpi.cpp
-    kv_michael_rcu_gpt.cpp
-    kv_michael_rcu_shb.cpp
-    kv_michael_rcu_sht.cpp
     lazy_hp.cpp
     lazy_dhp.cpp
     lazy_nogc.cpp
@@ -30,6 +41,29 @@ set(CDSGTEST_LIST_SOURCES
     lazy_rcu_gpt.cpp
     lazy_rcu_shb.cpp
     lazy_rcu_sht.cpp
+)
+add_executable(${UNIT_LIST_LAZY} ${UNIT_LIST_LAZY_SOURCES})
+target_link_libraries(${UNIT_LIST_LAZY} 
+    ${CDS_SHARED_LIBRARY}
+    ${GTEST_LIBRARY}
+    ${Boost_THREAD_LIBRARY}
+    ${Boost_SYSTEM_LIBRARY}
+    ${CMAKE_THREAD_LIBS_INIT}
+)
+add_test(NAME ${UNIT_LIST_LAZY} COMMAND ${UNIT_LIST_LAZY} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
+
+# MichaelList
+set(UNIT_LIST_MICHAEL unit-list-michael)
+set(UNIT_LIST_MICHAEL_SOURCES
+    ../main.cpp
+    kv_michael_hp.cpp
+    kv_michael_dhp.cpp
+    kv_michael_nogc.cpp
+    kv_michael_rcu_gpb.cpp
+    kv_michael_rcu_gpi.cpp
+    kv_michael_rcu_gpt.cpp
+    kv_michael_rcu_shb.cpp
+    kv_michael_rcu_sht.cpp
     michael_hp.cpp
     michael_dhp.cpp
     michael_nogc.cpp
@@ -39,18 +73,21 @@ set(CDSGTEST_LIST_SOURCES
     michael_rcu_shb.cpp
     michael_rcu_sht.cpp
 )
-
-include_directories(
-    ${CMAKE_CURRENT_SOURCE_DIR}
-)
-
-add_executable(${PACKAGE_NAME} ${CDSGTEST_LIST_SOURCES})
-target_link_libraries(${PACKAGE_NAME} 
+add_executable(${UNIT_LIST_MICHAEL} ${UNIT_LIST_MICHAEL_SOURCES})
+target_link_libraries(${UNIT_LIST_MICHAEL} 
     ${CDS_SHARED_LIBRARY}
     ${GTEST_LIBRARY}
     ${Boost_THREAD_LIBRARY}
     ${Boost_SYSTEM_LIBRARY}
     ${CMAKE_THREAD_LIBS_INIT}
 )
+add_test(NAME ${UNIT_LIST_MICHAEL} COMMAND ${UNIT_LIST_MICHAEL} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
+
+
+add_custom_target( unit-list
+    DEPENDS
+        ${UNIT_LIST_ITERABLE}
+        ${UNIT_LIST_LAZY}
+        ${UNIT_LIST_MICHAEL}
+)
 
-add_test(NAME ${PACKAGE_NAME} COMMAND ${PACKAGE_NAME} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
\ No newline at end of file