diff --git a/CMakeLists.txt b/CMakeLists.txt
index 75ffe7ffa889c1188e0b7558c347d9f231671b17..b42e0aa345b777d7aa0c186485ef341221e0ffd6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,6 +56,12 @@ find_package( YamlCpp 0.5.1 REQUIRED )
 find_package( PolkitQt5-1 REQUIRED )
 
 option( WITH_PYTHON "Enable Python modules support." ON )
+option( WITH_CRASHREPORTER "Build with CrashReporter" ON )
+
+if( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" OR NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libcrashreporter-qt/CMakeLists.txt" )
+    message( STATUS "Build of crashreporter disabled." )
+    set( WITH_CRASHREPORTER OFF )
+endif()
 
 macro_optional_find_package( PythonLibs 3.3 )
 macro_log_feature(
@@ -152,6 +158,7 @@ file( COPY CalamaresAddBrandingSubdirectory.cmake DESTINATION "${PROJECT_BINARY_
 
 set( CALAMARES_LIBRARIES calamares )
 
+add_subdirectory( thirdparty )
 add_subdirectory( src )
 
 macro_display_feature_log()
diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b3401a9776debe6e7642a30b187407065d4c3547
--- /dev/null
+++ b/thirdparty/CMakeLists.txt
@@ -0,0 +1,6 @@
+if( WITH_CRASHREPORTER )
+    macro( qt_wrap_ui )
+        qt5_wrap_ui( ${ARGN} )
+    endmacro()
+    add_subdirectory( libcrashreporter-qt )
+endif()