X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=CMakeLists.txt;h=8fa7901ab14f35b68607238ffad8e0f792d01935;hb=64a382b249fe73d1ab74db698790a0f6bb52fe31;hp=59669a02e7314bc6817130197560d2b33bceb42c;hpb=19f29cb9c4b8fae61dcf6f73b16e801690c92d7f;p=libcds.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 59669a02..8fa7901a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,7 @@ option(WITH_TESTS_COVERAGE "Analyze test coverage using gcov (only for gcc)" 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) +option(WITH_BREAKPAD "Use google breakpad to generate minidump for tests" OFF) set(CMAKE_TARGET_ARCHITECTURE "" CACHE string "Target build architecture") find_package(Threads) @@ -78,6 +79,32 @@ if(WITH_TESTS_COVERAGE) endif() endif(WITH_TESTS_COVERAGE) +if(WITH_BREAKPAD) + if( NOT ${BREAKPAD_INCLUDE_DIR}) + if(${BREAKPAD_ROOT}) + set(BREAKPAD_INCLUDE_DIR "${BREAKPAD_ROOT}/include") + endif() + endif() + + if( NOT ${BREAKPAD_LIBRARY_DIR}) + if(${BREAKPAD_ROOT}) + set(BREAKPAD_LIBRARY_DIR "${BREAKPAD_ROOT}/lib") + endif() + endif() + + if( NOT ${BREAKPAD_INCLUDE_DIR} OR NOT ${BREAKPAD_LIBRARY_DIR}) + message(FATAL_ERROR + "Could not find breakpad include or library dir." + "Specify -DBREAKPAD_ROOT in command line" + "or BREAKPAD_INCLUDE_DIR (usually $BREAKPAD_ROOT/include)" + "and BREAKPAD_LIBRARY_DIR (usually $BREAKPAD_ROOT/lib)" + ) + endif() + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${BREAKPAD_INCLUDE_DIR}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${BREAKPAD_LIBRARY_DIR} -lbreakpad_client") +endif(WITH_BREAKPAD) + set(CDS_SHARED_LIBRARY ${PROJECT_NAME}) set(CDS_STATIC_LIBRARY ${PROJECT_NAME}-s)