]> git.lyx.org Git - lyx.git/blobdiff - src/support/Path.cpp
listerrors.lyx : Update a link.
[lyx.git] / src / support / Path.cpp
index d6b048d7d2c4af9f071cd687babdaced5279e0ad..36837f6f9a06e2f530c0316f3f93db18d38813cc 100644 (file)
@@ -63,4 +63,30 @@ int PathChanger::pop()
 
 
 #define PathChanger(x) unnamed_PathChanger;
+
+#ifdef __APPLE__
+
+#include <CoreServices/CoreServices.h>
+
+int getPrivateFrameworkPathName(char * buf, unsigned len, char const * framework)
+{
+       // Get our application's main bundle from Core Foundation
+       CFBundleRef myAppsBundle = CFBundleGetMainBundle();
+       int result = 0 ;
+       if (NULL != myAppsBundle) {
+               CFURLRef baseURL = CFBundleCopyPrivateFrameworksURL( myAppsBundle );
+               if (NULL != baseURL) {
+                       CFURLRef bundleURL = CFURLCreateCopyAppendingPathComponent( kCFAllocatorSystemDefault, baseURL,
+                               CFStringCreateWithCString( kCFAllocatorSystemDefault, framework, CFStringGetSystemEncoding() ),
+                               false );
+                       if (NULL != bundleURL) {
+                               result = CFURLGetFileSystemRepresentation( bundleURL, TRUE, (UInt8*)buf, len );
+                       }
+               }
+       }
+       return result;
+}
+
+#endif
+
 // in merged builds this is not the last line.