| 1 | # -*- cmake -*-
|
|---|
| 2 |
|
|---|
| 3 | # - Find Google BreakPad
|
|---|
| 4 | # Find the Google BreakPad includes and library
|
|---|
| 5 | # This module defines
|
|---|
| 6 | # BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR, where to find exception_handler.h, etc.
|
|---|
| 7 | # BREAKPAD_EXCEPTION_HANDLER_LIBRARIES, the libraries needed to use Google BreakPad.
|
|---|
| 8 | # BREAKPAD_EXCEPTION_HANDLER_FOUND, If false, do not try to use Google BreakPad.
|
|---|
| 9 | # also defined, but not for general use are
|
|---|
| 10 | # BREAKPAD_EXCEPTION_HANDLER_LIBRARY, where to find the Google BreakPad library.
|
|---|
| 11 |
|
|---|
| 12 | FIND_PATH(BREAKPAD_INCLUDE_DIR google_breakpad/client/breakpad_types.h)
|
|---|
| 13 |
|
|---|
| 14 | IF(NOT GoogleBreakpad_FIND_COMPONENTS)
|
|---|
| 15 | SET(GoogleBreakpad_FIND_COMPONENTS common exception_handler)
|
|---|
| 16 | ENDIF(NOT GoogleBreakpad_FIND_COMPONENTS)
|
|---|
| 17 | IF(NOT BREAKPAD_LIBRARY_PREFIX)
|
|---|
| 18 | SET(BREAKPAD_LIBRARY_PREFIX "")
|
|---|
| 19 | ENDIF(NOT BREAKPAD_LIBRARY_PREFIX)
|
|---|
| 20 | IF(NOT BREAKPAD_LIBRARY_SUFFIX)
|
|---|
| 21 | SET(BREAKPAD_LIBRARY_SUFFIX "")
|
|---|
| 22 | ENDIF(NOT BREAKPAD_LIBRARY_SUFFIX)
|
|---|
| 23 | IF(NOT BREAKPAD_LIBRARY_PREFIX_DEBUG)
|
|---|
| 24 | SET(BREAKPAD_LIBRARY_PREFIX_DEBUG ${BREAKPAD_LIBRARY_PREFIX})
|
|---|
| 25 | ENDIF(NOT BREAKPAD_LIBRARY_PREFIX_DEBUG)
|
|---|
| 26 | IF(NOT BREAKPAD_LIBRARY_SUFFIX_DEBUG)
|
|---|
| 27 | SET(BREAKPAD_LIBRARY_SUFFIX_DEBUG ${BREAKPAD_LIBRARY_SUFFIX})
|
|---|
| 28 | ENDIF(NOT BREAKPAD_LIBRARY_SUFFIX_DEBUG)
|
|---|
| 29 |
|
|---|
| 30 | MESSAGE("Breakpad config: ${BREAKPAD_LIBRARY_PREFIX}...${BREAKPAD_LIBRARY_SUFFIX}, ${BREAKPAD_LIBRARY_PREFIX_DEBUG}...${BREAKPAD_LIBRARY_SUFFIX_DEBUG}" )
|
|---|
| 31 | SET(BREAKPAD_FOUND TRUE)
|
|---|
| 32 | FOREACH(COMPONENT ${GoogleBreakpad_FIND_COMPONENTS})
|
|---|
| 33 | string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
|
|---|
| 34 | FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE
|
|---|
| 35 | NAMES ${BREAKPAD_LIBRARY_PREFIX}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX})
|
|---|
| 36 | FIND_LIBRARY(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG
|
|---|
| 37 | NAMES ${BREAKPAD_LIBRARY_PREFIX_DEBUG}${COMPONENT}${BREAKPAD_LIBRARY_SUFFIX_DEBUG})
|
|---|
| 38 | IF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG)
|
|---|
| 39 | SET(BREAKPAD_${UPPERCOMPONENT}_FOUND TRUE)
|
|---|
| 40 | SET(BREAKPAD_${UPPERCOMPONENT}_LIBRARY optimized ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE} debug ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG})
|
|---|
| 41 | set(BREAKPAD_${UPPERCOMPONENT}_LIBRARY ${BREAKPAD_${UPPERCOMPONENT}_LIBRARY} CACHE FILEPATH "The breakpad ${UPPERCOMPONENT} library")
|
|---|
| 42 | ELSE(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG)
|
|---|
| 43 | SET(BREAKPAD_FOUND FALSE)
|
|---|
| 44 | SET(BREAKPAD_${UPPERCOMPONENT}_FOUND FALSE)
|
|---|
| 45 | SET(BREAKPAD_${UPPERCOMPONENT}_LIBRARY "${BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND}")
|
|---|
| 46 | ENDIF(BREAKPAD_${UPPERCOMPONENT}_LIBRARY_RELEASE AND BREAKPAD_${UPPERCOMPONENT}_LIBRARY_DEBUG)
|
|---|
| 47 | ENDFOREACH(COMPONENT)
|
|---|
| 48 | IF(BREAKPAD_FOUND)
|
|---|
| 49 | MESSAGE("Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" )
|
|---|
| 50 | FIND_PROGRAM(BREAKPAD_DUMPSYMS_EXE
|
|---|
| 51 | dump_syms.exe NAMES dump_syms dumpsyms
|
|---|
| 52 | PATHS ENV PATH ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries
|
|---|
| 53 | )
|
|---|
| 54 | MESSAGE("Looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries: ${BREAKPAD_DUMPSYMS_EXE}" )
|
|---|
| 55 | IF(BREAKPAD_DUMPSYMS_EXE)
|
|---|
| 56 | SET(BREAKPAD_DUMPSYMS_EXE_FOUND TRUE)
|
|---|
| 57 | ELSE(BREAKPAD_DUMPSYMS_EXE)
|
|---|
| 58 | SET(BREAKPAD_DUMPSYMS_EXE_FOUND FALSE)
|
|---|
| 59 | SET(BREAKPAD_FOUND FALSE)
|
|---|
| 60 | ENDIF(BREAKPAD_DUMPSYMS_EXE)
|
|---|
| 61 | ELSE(BREAKPAD_FOUND)
|
|---|
| 62 | MESSAGE("NOT looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" )
|
|---|
| 63 | ENDIF(BREAKPAD_FOUND)
|
|---|