aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--cmake/FindCrashpad.cmake32
-rw-r--r--src/app/main.cpp5
3 files changed, 8 insertions, 31 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d2359e6a21..aec846721d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,7 +91,7 @@ set(CRASHPAD_BACKEND_URL "" CACHE STRING "Crashpad backend URL")
set(BUILD_WITH_CRASHPAD OFF)
# Linux is not supported for now
# x86_64;arm64 is not supported for now
-if(CRASHPAD_BACKEND_URL AND (WIN32 OR (APPLE AND NOT "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64;arm64")))
+if(CRASHPAD_BACKEND_URL AND (WIN32 OR APPLE)) # Linux is not supported for now
find_package(Crashpad QUIET)
if(TARGET Crashpad::Crashpad)
set(BUILD_WITH_CRASHPAD ON)
diff --git a/cmake/FindCrashpad.cmake b/cmake/FindCrashpad.cmake
index 8b16fd83be..181c4b0518 100644
--- a/cmake/FindCrashpad.cmake
+++ b/cmake/FindCrashpad.cmake
@@ -57,25 +57,9 @@ find_path(CRASHPAD_GEN_DIR
"${CMAKE_PREFIX_PATH}"
)
-if(APPLE)
- find_path(CRASHPAD_OBJ_DIR
- NAMES mig_output.child_portServer.o
- PATH_SUFFIXES gen/util/mach
- HINTS
- "${CRASHPAD_OBJECT_DIR}"
- "${CRASHPAD_LIB_DIR}/out/Default"
- "${CMAKE_PREFIX_PATH}"
- )
- set(CRASHPAD_APPLE_VARS CRASHPAD_OBJ_DIR CRASHPAD_GEN_DIR)
- find_library(FWbsm bsm)
- find_library(FWAppKit AppKit)
- find_library(FWIOKit IOKit)
- find_library(FWSecurity Security)
-endif()
-
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Crashpad DEFAULT_MSG
- CRASHPAD_BIN_DIR CRASHPAD_INCLUDE_DIR CRASHPAD_LIB_DIR ${CRASHPAD_APPLE_VARS}
+ CRASHPAD_BIN_DIR CRASHPAD_INCLUDE_DIR CRASHPAD_LIB_DIR
)
if(Crashpad_FOUND)
@@ -93,18 +77,16 @@ if(Crashpad_FOUND)
set_target_properties(Crashpad::Crashpad PROPERTIES
IMPORTED_LOCATION "${CRASHPAD_LIB_DIR}/client/client.lib")
elseif(APPLE)
+ find_library(FWbsm bsm)
+ find_library(FWAppKit AppKit)
+ find_library(FWIOKit IOKit)
+ find_library(FWSecurity Security)
target_link_libraries(Crashpad::Crashpad INTERFACE
"${CRASHPAD_LIB_DIR}/third_party/mini_chromium/mini_chromium/base/libbase.a"
"${CRASHPAD_LIB_DIR}/util/libutil.a"
+ "${CRASHPAD_LIB_DIR}/util/libmig_output.a"
"${CRASHPAD_LIB_DIR}/client/libclient.a"
- "${CRASHPAD_OBJ_DIR}/mig_output.child_portServer.o"
- "${CRASHPAD_OBJ_DIR}/mig_output.child_portUser.o"
- "${CRASHPAD_OBJ_DIR}/mig_output.excServer.o"
- "${CRASHPAD_OBJ_DIR}/mig_output.excUser.o"
- "${CRASHPAD_OBJ_DIR}/mig_output.mach_excServer.o"
- "${CRASHPAD_OBJ_DIR}/mig_output.mach_excUser.o"
- "${CRASHPAD_OBJ_DIR}/mig_output.notifyServer.o"
- "${CRASHPAD_OBJ_DIR}/mig_output.notifyUser.o"
+ "${CRASHPAD_LIB_DIR}/client/libcommon.a"
${FWbsm} ${FWAppKit} ${FWIOKit} ${FWSecurity})
set_target_properties(Crashpad::Crashpad PROPERTIES
IMPORTED_LOCATION "${CRASHPAD_LIB_DIR}/client/libclient.a")
diff --git a/src/app/main.cpp b/src/app/main.cpp
index e17ef27e20..202b0461df 100644
--- a/src/app/main.cpp
+++ b/src/app/main.cpp
@@ -412,11 +412,6 @@ QStringList lastSessionArgument()
#ifdef ENABLE_CRASHPAD
bool startCrashpad(const QString &libexecPath, bool crashReportingEnabled)
{
- if (QSysInfo::currentCpuArchitecture() == "arm64") {
- qDebug() << "The crashpad_handler binary does not work on arm64 properly. So it is disabled for now.";
- return false;
- }
-
using namespace crashpad;
// Cache directory that will store crashpad information and minidumps