Browse Source

Adding AtomicCommon.cmake, ATOMIC_DEBUG preprocessor, Engine::GetDebugBuild, and catch UIDebugger being available in Debug build only currently

Josh Engebretson 10 years ago
parent
commit
119a17dabf

+ 2 - 0
Build/CMake/Modules/AtomicAndroid.cmake

@@ -1,4 +1,6 @@
 
+include(AtomicCommon)
+
 set (JAVASCRIPT_BINDINGS_PLATFORM "ANDROID")
 
 add_definitions(-DATOMIC_PLATFORM_ANDROID)

+ 3 - 0
Build/CMake/Modules/AtomicCommon.cmake

@@ -0,0 +1,3 @@
+
+set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DATOMIC_DEBUG")
+set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DATOMIC_DEBUG")

+ 3 - 0
Build/CMake/Modules/AtomicDesktop.cmake

@@ -1,3 +1,6 @@
+
+include(AtomicCommon)
+
 include_directories(${CMAKE_SOURCE_DIR}/Source/ThirdParty/Poco/Foundation/include)
 
 add_definitions( -DATOMIC_NAVIGATION -DATOMIC_TBUI -DATOMIC_FILEWATCHER -DPOCO_NO_AUTOMATIC_LIBS -DPOCO_STATIC )

+ 2 - 0
Build/CMake/Modules/AtomicIOS.cmake

@@ -1,5 +1,7 @@
 include (BundleUtilities)
 
+include(AtomicCommon)
+
 set (JAVASCRIPT_BINDINGS_PLATFORM "IOS")
 
 add_definitions (-DIOS -DATOMIC_PLATFORM_IOS -DATOMIC_OPENGL -DKNET_UNIX -DATOMIC_TBUI)

+ 0 - 1
Build/CMake/Modules/AtomicLinux.cmake

@@ -3,7 +3,6 @@ set (ATOMIC_NODE_JAKE Build/Linux/node/node Build/node_modules/jake/bin/cli.js
 
 include(AtomicDesktop)
 
-
 add_definitions(-DATOMIC_PLATFORM_LINUX -DATOMIC_OPENGL -DKNET_UNIX -DHAVE_INT64_T)
 
 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -std=gnu++0x")

+ 2 - 0
Build/CMake/Modules/AtomicWeb.cmake

@@ -1,4 +1,6 @@
 
+include(AtomicCommon)
+
 set (JAVASCRIPT_BINDINGS_PLATFORM "WEB")
 
 add_definitions(-DATOMIC_PLATFORM_WEB)

+ 12 - 2
Script/AtomicEditor/ui/frames/menus/MainFrameMenu.ts

@@ -176,7 +176,17 @@ class MainFrameMenu extends Atomic.ScriptObject {
             }
 
             if (refid == "developer show uidebugger") {
-                Atomic.UI.debugShowSettingsWindow(EditorUI.getView());
+
+                if (Atomic.engine.debugBuild) {
+                    Atomic.UI.debugShowSettingsWindow(EditorUI.getView());
+                }
+                else {
+                    EditorUI.showModalError("Debug Build Required",
+                        "UIDebugger currently requires a Debug engine build");
+                }
+
+
+
                 return true;
             }
 
@@ -293,7 +303,7 @@ var fileItems = {
     "Save File": ["file save file", StringID.ShortcutSaveFile],
     "Save All Files": ["file save all"],
     "Close File": ["file close file", StringID.ShortcutCloseFile],
-     "-3": null,
+    "-3": null,
     "Quit": "quit"
 };
 

+ 14 - 0
Source/Atomic/Engine/Engine.cpp

@@ -958,4 +958,18 @@ void Engine::DoExit()
 #endif
 }
 
+// ATOMIC BEGIN
+
+bool Engine::GetDebugBuild()
+{
+#ifdef ATOMIC_DEBUG
+    return true;
+#else
+    return false;
+#endif
+}
+
+// ATOMIC END
+
+
 }

+ 4 - 0
Source/Atomic/Engine/Engine.h

@@ -118,6 +118,10 @@ public:
     static const Variant
         & GetParameter(const VariantMap& parameters, const String& parameter, const Variant& defaultValue = Variant::EMPTY);
 
+    // ATOMIC BEGIN
+    static bool GetDebugBuild();
+    // ATOMIC END
+
 private:
     /// Handle exit requested event. Auto-exit if enabled.
     void HandleExitRequested(StringHash eventType, VariantMap& eventData);

+ 1 - 1
Source/Atomic/UI/UI.cpp

@@ -914,7 +914,7 @@ bool UI::OnWidgetInvokeEvent(tb::TBWidget *widget, const tb::TBWidgetEvent &ev)
 void UI::DebugShowSettingsWindow(UIWidget* parent)
 {
 
-#ifdef TB_RUNTIME_DEBUG_INFO
+#ifdef ATOMIC_DEBUG
     if (parent && parent->GetInternalWidget())
         tb::ShowDebugInfoSettingsWindow(parent->GetInternalWidget());
 #endif