Adds parallel test organization (actual test cases are still sequential)
[libcds.git] / test / stress / CMakeLists.txt
1 set(CDSSTRESS_FRAMEWORK_LIBRARY stress-framework)
2
3 set(CDSSTRESS_FRAMEWORK_SOURCES
4     framework/city.cpp
5     framework/config.cpp
6     framework/ellen_bintree_update_desc_pool.cpp
7     framework/stress_test.cpp
8 )
9
10 add_custom_command(
11     OUTPUT ${EXECUTABLE_OUTPUT_PATH}/dictionary.txt
12     MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/test/stress/data/text.txt
13     COMMAND perl -X ${PROJECT_SOURCE_DIR}/test/stress/data/split.pl ${PROJECT_SOURCE_DIR}/test/stress/data/text.txt ${EXECUTABLE_OUTPUT_PATH}/dictionary.txt
14 )
15 set_property(SOURCE framework/stress_test.cpp APPEND PROPERTY OBJECT_DEPENDS ${EXECUTABLE_OUTPUT_PATH}/dictionary.txt)
16
17 add_library(${CDSSTRESS_FRAMEWORK_LIBRARY} ${CDSSTRESS_FRAMEWORK_SOURCES})
18 target_link_libraries(${CDSSTRESS_FRAMEWORK_LIBRARY} PUBLIC ${CDS_SHARED_LIBRARY})
19
20 include_directories(
21     ${CMAKE_CURRENT_SOURCE_DIR}
22 )
23
24 add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/sequential)
25 add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/parallel)
26 #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/misc)
27 #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/freelist)
28 #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/map)
29 #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/pqueue)
30 #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/queue)
31 #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/set)
32 #add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/stack)
33
34 add_custom_target( stress-all
35     DEPENDS
36         stress-sequential-all
37         stress-parallel-all
38         #stress-misc
39         #stress-freelist
40         #stress-map
41         #stress-pqueue
42         #stress-queue
43         #stress-stack
44         #stress-set
45 )
46
47 file(GLOB CONF_FILES ${PROJECT_SOURCE_DIR}/test/stress/data/*.conf)
48 file(COPY ${CONF_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH})