diff options
author | Monroe Linden <monroe@lindenlab.com> | 2009-10-12 19:47:39 -0700 |
---|---|---|
committer | Monroe Linden <monroe@lindenlab.com> | 2009-10-12 19:47:39 -0700 |
commit | f154a3a23f9dad1e4222ad0f90a40f4f79b38508 (patch) | |
tree | be22a20d460cfc468ec963575f067b1d84b6fe38 /indra/test_apps/llplugintest/llmediaplugintest.cpp | |
parent | d02906b12ee335676e11ac883981e75f4df2cacc (diff) |
Changed llmediaplugintest into a bundled app on the mac, to solve some issues around the newly-dynamic libllcommon.dylib. This includes making it set the current working directory to a known location inside its bundle on launch.
Changed indra/test_apps/llplugintest/CMakeLists.txt to copy various bits now needed inside the app bundle on the mac.
Diffstat (limited to 'indra/test_apps/llplugintest/llmediaplugintest.cpp')
-rw-r--r-- | indra/test_apps/llplugintest/llmediaplugintest.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp index f9568a9b5d..ba66b449f3 100644 --- a/indra/test_apps/llplugintest/llmediaplugintest.cpp +++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp @@ -44,6 +44,7 @@ #if __APPLE__ #include <GLUT/glut.h> + #include <CoreFoundation/CoreFoundation.h> #else #define FREEGLUT_STATIC #include "GL/freeglut.h" @@ -2111,6 +2112,25 @@ void glutMouseButton( int button, int state, int x, int y ) // int main( int argc, char* argv[] ) { +#if LL_DARWIN + // Set the current working directory to <application bundle>/Contents/Resources/ + CFURLRef resources_url = CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle()); + if(resources_url != NULL) + { + CFStringRef resources_string = CFURLCopyFileSystemPath(resources_url, kCFURLPOSIXPathStyle); + CFRelease(resources_url); + if(resources_string != NULL) + { + char buffer[PATH_MAX] = ""; + if(CFStringGetCString(resources_string, buffer, sizeof(buffer), kCFStringEncodingUTF8)) + { + chdir(buffer); + } + CFRelease(resources_string); + } + } +#endif + glutInit( &argc, argv ); glutInitDisplayMode( GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB ); |