Refactors lock test cases backoff values
[libcds.git] / test / CMakeLists.txt
index ee6f62a249463301c422f2108c51000747b4a65e..f39d88c0ff53b5d2e7e14d9fbe02b9ca20bccd39 100644 (file)
@@ -32,7 +32,7 @@ set(OLD_CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES})
 set(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
 set(CMAKE_REQUIRED_FLAGS "-DGTEST_USE_OWN_TR1_TUPLE ${CMAKE_EXE_LINKER_FLAGS}")
 set(CMAKE_REQUIRED_INCLUDES ${GTEST_INCLUDE_DIRS} )
-set(CMAKE_REQUIRED_LIBRARIES ${GTEST_LIBRARIES} ${EXTERNAL_SYSTEM_LIBS} )
+set(CMAKE_REQUIRED_LIBRARIES ${GTEST_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${EXTERNAL_SYSTEM_LIBS} )
 CHECK_CXX_SOURCE_COMPILES("
 #include <gtest/gtest.h>
 class fixture: public ::testing::Test, public ::testing::WithParamInterface< int >
@@ -67,9 +67,26 @@ set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
 if(GTEST_INSTANTIATE_TEST_CASE_P_HAS_4TH_ARG)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_LANG_CXX11 -DCDSTEST_GTEST_INSTANTIATE_TEST_CASE_P_HAS_4TH_ARG") 
 endif()
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/unit)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/stress)
+
+# Check if there is byteswap.h (needed for cityhash)
+CHECK_CXX_SOURCE_COMPILES("
+#include <byteswap.h>
+int main( int argc, char **argv ) 
+{
+    return 0;
+}
+" CDSTEST_HAVE_BYTESWAP_H )
+
+if(CDSTEST_HAVE_BYTESWAP_H)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCDSTEST_HAVE_BYTESWAP_H") 
+endif()
+
+if(ENABLE_UNIT_TEST)
+    add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/unit)
+endif()
+if(ENABLE_STRESS_TEST)
+    add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/stress)
+endif()
 
 file(GLOB SANITIZER_OPTION_FILES ${PROJECT_SOURCE_DIR}/tools/tsan-suppression)
 file(COPY ${SANITIZER_OPTION_FILES} DESTINATION ${EXECUTABLE_OUTPUT_PATH})