client-root/cmake/FindBreakpad.cmake

69 lines
2.4 KiB
CMake

# - Try to find breakpad include dirs and libraries
#
# Usage of this module as follows:
#
# find_package(breakpad)
#
# Variables used by this module, they can change the default behaviour and need
# to be set before calling find_package:
#
# breakpad_ROOT_DIR Set this variable to the root installation of
# breakpad if the module has problems finding the
# proper installation path.
#
# Variables defined by this module:
#
# breakpad_FOUND System has breakpad, include and library dirs found
# breakpad_INCLUDE_DIR The breakpad include directories.
# breakpad_SOURCE_FILES The source files which have to be included.
# breakpad_HEADER_FIOLES Header files which might be included.
include(tearoot-helper)
include(FindPackageHandleStandardArgs)
find_path(breakpad_ROOT_DIR
NAMES src/client/minidump_file_writer.h src/common/language.h
HINTS ${breakpad_ROOT_DIR}
)
find_path(breakpad_INCLUDE_DIR
NAMES client/minidump_file_writer.h common/language.h
HINTS ${breakpad_ROOT_DIR}/src/
)
set(breakpad_SOURCE_FILES "")
set(breakpad_HEADER_FIOLES "")
#https://blog.inventic.eu/2012/08/qt-and-google-breakpad/
if(WIN32)
set(breakpad_SOURCE_FILES ${breakpad_SOURCE_FILES}
${breakpad_ROOT_DIR}/src/client/windows/handler/exception_handler.cc
${breakpad_ROOT_DIR}/src/common/windows/string_utils.cc
${breakpad_ROOT_DIR}/src/common/windows/guid_string.cc
${breakpad_ROOT_DIR}/src/client/windows/crash_generation/crash_generation_client.cc
)
set(breakpad_HEADER_FIOLES ${breakpad_HEADER_FIOLES}
${breakpad_ROOT_DIR}/src/common/windows/string_utils-inl.h
${breakpad_ROOT_DIR}/src/common/windows/guid_string.h
${breakpad_ROOT_DIR}/src/client/windows/handler/exception_handler.h
${breakpad_ROOT_DIR}/src/client/windows/common/ipc_protocol.h
${breakpad_ROOT_DIR}/src/google_breakpad/common/minidump_format.h
${breakpad_ROOT_DIR}/src/google_breakpad/common/breakpad_types.h
${breakpad_ROOT_DIR}/src/client/windows/crash_generation/crash_generation_client.h
${breakpad_ROOT_DIR}/src/processor/scoped_ptr.h
)
else()
message(FATAL_ERROR "Unknown system")
endif()
find_package_handle_standard_args(breakpad DEFAULT_MSG
breakpad_INCLUDE_DIR
)
mark_as_advanced(
breakpad_ROOT_DIR
breakpad_INCLUDE_DIR
breakpad_SOURCE_FILES
breakpad_HEADER_FIOLES
)