summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/DragDrop.cmake25
-rw-r--r--indra/llwindow/CMakeLists.txt1
-rw-r--r--indra/llwindow/lldragdropwin32.cpp7
-rw-r--r--indra/llwindow/lldragdropwin32.h29
-rw-r--r--indra/newview/CMakeLists.txt1
5 files changed, 59 insertions, 4 deletions
diff --git a/indra/cmake/DragDrop.cmake b/indra/cmake/DragDrop.cmake
new file mode 100644
index 0000000000..a2d7df1312
--- /dev/null
+++ b/indra/cmake/DragDrop.cmake
@@ -0,0 +1,25 @@
+# -*- cmake -*-
+
+if (VIEWER)
+
+ OPTION (OS_DRAG_DROP
+ "Build the viewer with OS level drag and drop turned on or off"
+ OFF)
+
+ if (OS_DRAG_DROP)
+
+ if (WINDOWS)
+ add_definitions(-DLL_OS_DRAGDROP_ENABLED=1)
+ endif (WINDOWS)
+
+ if (DARWIN)
+ add_definitions(-DLL_OS_DRAGDROP_ENABLED=0)
+ endif (DARWIN)
+
+ if (LINUX)
+ add_definitions(-DLL_OS_DRAGDROP_ENABLED=0)
+ endif (LINUX)
+
+ endif (OS_DRAG_DROP)
+
+endif (VIEWER)
diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt
index b4a3f74451..77c6fa57b6 100644
--- a/indra/llwindow/CMakeLists.txt
+++ b/indra/llwindow/CMakeLists.txt
@@ -12,6 +12,7 @@ project(llwindow)
include(00-Common)
include(DirectX)
+include(DragDrop)
include(LLCommon)
include(LLImage)
include(LLMath)
diff --git a/indra/llwindow/lldragdropwin32.cpp b/indra/llwindow/lldragdropwin32.cpp
index aac68e71af..471c88675d 100644
--- a/indra/llwindow/lldragdropwin32.cpp
+++ b/indra/llwindow/lldragdropwin32.cpp
@@ -32,6 +32,8 @@
#if LL_WINDOWS
+#if LL_OS_DRAGDROP_ENABLED
+
#include "linden_common.h"
#include "llwindowwin32.h"
@@ -272,4 +274,7 @@ void LLDragDropWin32::reset()
OleUninitialize();
}
-#endif
+#endif // LL_OS_DRAGDROP_ENABLED
+
+#endif // LL_WINDOWS
+
diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h
index 624f4ad24b..26c8e4aeff 100644
--- a/indra/llwindow/lldragdropwin32.h
+++ b/indra/llwindow/lldragdropwin32.h
@@ -30,11 +30,13 @@
* $/LicenseInfo$
*/
+#if LL_WINDOWS
+
+#if LL_OS_DRAGDROP_ENABLED
+
#ifndef LL_LLDRAGDROP32_H
#define LL_LLDRAGDROP32_H
-#if LL_WINDOWS
-
#include <windows.h>
#include <ole2.h>
@@ -51,7 +53,28 @@ class LLDragDropWin32
IDropTarget* mDropTarget;
HWND mDropWindowHandle;
};
+#endif // LL_LLDRAGDROP32_H
-#endif // LL_WINDOWS
+#else // LL_OS_DRAGDROP_ENABLED
+#ifndef LL_LLDRAGDROP32_H
+#define LL_LLDRAGDROP32_H
+
+#include <windows.h>
+#include <ole2.h>
+
+// imposter class that does nothing
+class LLDragDropWin32
+{
+ public:
+ LLDragDropWin32() {};
+ ~LLDragDropWin32() {};
+
+ bool init( HWND hWnd ) { return false; };
+ void reset() { };
+};
#endif // LL_LLDRAGDROP32_H
+
+#endif // LL_OS_DRAGDROP_ENABLED
+
+#endif // LL_WINDOWS
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index b129bca1f3..352e9a9382 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -7,6 +7,7 @@ include(Boost)
include(BuildVersion)
include(DBusGlib)
include(DirectX)
+include(DragDrop)
include(ELFIO)
include(FMOD)
include(OPENAL)