source: nscp/build/cmake/FindGoogleBreakpad.cmake @ 7ec3dd1

0.4.00.4.10.4.2
Last change on this file since 7ec3dd1 was 7ec3dd1, checked in by Michael Medin <michael@…>, 2 years ago

various fixes and changes here and there
Mainly build related (been trying to fix symbol dumper problems) as well as tweaks for the up-coming "nightly release")

  • Property mode set to 100644
File size: 3.2 KB
Line 
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
12FIND_PATH(BREAKPAD_INCLUDE_DIR google_breakpad/client/breakpad_types.h)
13
14IF(NOT GoogleBreakpad_FIND_COMPONENTS)
15        SET(GoogleBreakpad_FIND_COMPONENTS common exception_handler)
16ENDIF(NOT GoogleBreakpad_FIND_COMPONENTS)
17IF(NOT BREAKPAD_LIBRARY_PREFIX)
18        SET(BREAKPAD_LIBRARY_PREFIX "")
19ENDIF(NOT BREAKPAD_LIBRARY_PREFIX)
20IF(NOT BREAKPAD_LIBRARY_SUFFIX)
21        SET(BREAKPAD_LIBRARY_SUFFIX "")
22ENDIF(NOT BREAKPAD_LIBRARY_SUFFIX)
23IF(NOT BREAKPAD_LIBRARY_PREFIX_DEBUG)
24        SET(BREAKPAD_LIBRARY_PREFIX_DEBUG ${BREAKPAD_LIBRARY_PREFIX})
25ENDIF(NOT BREAKPAD_LIBRARY_PREFIX_DEBUG)
26IF(NOT BREAKPAD_LIBRARY_SUFFIX_DEBUG)
27        SET(BREAKPAD_LIBRARY_SUFFIX_DEBUG ${BREAKPAD_LIBRARY_SUFFIX})
28ENDIF(NOT BREAKPAD_LIBRARY_SUFFIX_DEBUG)
29
30MESSAGE("Breakpad config: ${BREAKPAD_LIBRARY_PREFIX}...${BREAKPAD_LIBRARY_SUFFIX}, ${BREAKPAD_LIBRARY_PREFIX_DEBUG}...${BREAKPAD_LIBRARY_SUFFIX_DEBUG}" )
31SET(BREAKPAD_FOUND TRUE)
32FOREACH(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)
47ENDFOREACH(COMPONENT)
48IF(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)
61ELSE(BREAKPAD_FOUND)
62        MESSAGE("NOT looking for dump-symbols in: ${BREAKPAD_INCLUDE_DIR}/tools/windows/binaries" )
63ENDIF(BREAKPAD_FOUND)
Note: See TracBrowser for help on using the repository browser.