project(cds)
-set(PROJECT_VERSION 2.2.0)
+set(PROJECT_VERSION 2.3.0)
# Options
option(WITH_TESTS "Build unit tests" OFF)
option(WITH_BOOST_ATOMIC "Use boost atomics (only for boost >= 1.54)" OFF)
option(WITH_ASAN "Build AddressSantinizer instrumented code" OFF)
option(WITH_TSAN "Build ThreadSantinizer instrumented code" OFF)
+set(CMAKE_TARGET_ARCHITECTURE "" CACHE string "Target build architecture")
-find_package(Threads REQUIRED)
+find_package(Threads)
if(TARGET boost::system AND TARGET boost::thread)
link_libraries(boost::system boost::thread)
include_directories(${Boost_INCLUDE_DIRS})
-target_architecture(CMAKE_TARGET_ARCHITECTURE)
+if(NOT CMAKE_TARGET_ARCHITECTURE)
+ target_architecture(CMAKE_TARGET_ARCHITECTURE)
+endif()
if(WITH_BOOST_ATOMIC)
if(Boost_FOUND)
endif()
endif()
+if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation")
+endif()
+
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
message("Build type -- ${CMAKE_BUILD_TYPE}")
set(LIBRARIES_COMPONENT lib)
set(HEADERS_COMPONENT devel)
-set(SOURCES src/hp_gc.cpp
- src/init.cpp
- src/dhp_gc.cpp
- src/urcu_gp.cpp
- src/urcu_sh.cpp
- src/michael_heap.cpp
- src/topology_hpux.cpp
- src/topology_linux.cpp
- src/topology_osx.cpp
- src/dllmain.cpp)
+set(SOURCES src/init.cpp
+ src/hp.cpp
+ src/dhp.cpp
+ src/urcu_gp.cpp
+ src/urcu_sh.cpp
+ src/thread_data.cpp
+ src/topology_hpux.cpp
+ src/topology_linux.cpp
+ src/topology_osx.cpp
+ src/dllmain.cpp)
add_library(${CDS_SHARED_LIBRARY} SHARED ${SOURCES})
set_target_properties(${CDS_SHARED_LIBRARY} PROPERTIES VERSION ${PROJECT_VERSION}