Browse Source

Make Debug mode a build-time option instead of a hardcoded value

Arjen Hiemstra 8 years ago
parent
commit
2e894477c8
3 changed files with 9 additions and 5 deletions
  1. 1 0
      CMakeLists.txt
  2. 6 4
      cura/CrashHandler.py
  3. 2 1
      cura/CuraVersion.py.in

+ 1 - 0
CMakeLists.txt

@@ -10,6 +10,7 @@ set(URANIUM_SCRIPTS_DIR "${CMAKE_SOURCE_DIR}/../uranium/scripts" CACHE DIRECTORY
 add_custom_target(tests)
 add_custom_command(TARGET tests POST_BUILD COMMAND "PYTHONPATH=${CMAKE_SOURCE_DIR}/../Uranium/:${CMAKE_SOURCE_DIR}" ${PYTHON_EXECUTABLE} -m pytest -r a --junitxml=${CMAKE_BINARY_DIR}/junit.xml ${CMAKE_SOURCE_DIR} || exit 0)
 
+option(CURA_DEBUGMODE "Enable debug dialog and other debug features" OFF)
 
 set(CURA_VERSION "master" CACHE STRING "Version name of Cura")
 set(CURA_BUILDTYPE "" CACHE STRING "Build type of Cura, eg. 'PPA'")

+ 6 - 4
cura/CrashHandler.py

@@ -12,6 +12,11 @@ from UM.Logger import Logger
 from UM.i18n import i18nCatalog
 catalog = i18nCatalog("cura")
 
+try:
+    from cura.CuraVersion import CuraDebugMode
+except ImportError:
+    CuraDebugMode = False  # [CodeStyle: Reflecting imported value]
+
 # List of exceptions that should be considered "fatal" and abort the program.
 # These are primarily some exception types that we simply cannot really recover from
 # (MemoryError and SystemError) and exceptions that indicate grave errors in the
@@ -24,21 +29,18 @@ fatal_exception_types = [
 ]
 
 def show(exception_type, value, tb):
-    debug_mode = True
-
     Logger.log("c", "An uncaught exception has occurred!")
     for line in traceback.format_exception(exception_type, value, tb):
         for part in line.rstrip("\n").split("\n"):
             Logger.log("c", part)
 
-    if not debug_mode and exception_type not in fatal_exception_types:
+    if not CuraDebugMode and exception_type not in fatal_exception_types:
         return
 
     application = QCoreApplication.instance()
     if not application:
         sys.exit(1)
 
-
     dialog = QDialog()
     dialog.setMinimumWidth(640)
     dialog.setMinimumHeight(640)

+ 2 - 1
cura/CuraVersion.py.in

@@ -2,4 +2,5 @@
 # Cura is released under the terms of the AGPLv3 or higher.
 
 CuraVersion = "@CURA_VERSION@"
-CuraBuildType = "@CURA_BUILDTYPE@"
+CuraBuildType = "@CURA_BUILDTYPE@"
+CuraDebugMode = True if "@CURA_DEBUGMODE@" == "ON" else False