filename | src/cocoaui/paths_osx.m |
changeset | 1041:5fcc39857c5c |
prev | 1038:f220d18c0615 |
next | 1297:7e98a164b2d9 |
author | nkeynes |
date | Fri Feb 24 21:11:58 2012 +1000 (11 years ago) |
permissions | -rw-r--r-- |
last change | Add preprocessing support to genglsl |
file | annotate | diff | log | raw |
nkeynes@965 | 1 | /** |
nkeynes@1021 | 2 | * $Id$ |
nkeynes@965 | 3 | * |
nkeynes@965 | 4 | * Cocoa builds need to use different paths from ordinary builds, since |
nkeynes@965 | 5 | * the message catalogs, default config, etc are all bundle-relative. |
nkeynes@965 | 6 | * Otherwise paths use the standard unix install paths |
nkeynes@965 | 7 | * |
nkeynes@965 | 8 | * Copyright (c) 2008 Nathan Keynes. |
nkeynes@965 | 9 | * |
nkeynes@965 | 10 | * This program is free software; you can redistribute it and/or modify |
nkeynes@965 | 11 | * it under the terms of the GNU General Public License as published by |
nkeynes@965 | 12 | * the Free Software Foundation; either version 2 of the License, or |
nkeynes@965 | 13 | * (at your option) any later version. |
nkeynes@965 | 14 | * |
nkeynes@965 | 15 | * This program is distributed in the hope that it will be useful, |
nkeynes@965 | 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
nkeynes@965 | 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nkeynes@965 | 18 | * GNU General Public License for more details. |
nkeynes@965 | 19 | */ |
nkeynes@965 | 20 | |
nkeynes@965 | 21 | #include <string.h> |
nkeynes@1041 | 22 | #include <glib/gstrfuncs.h> |
nkeynes@965 | 23 | |
nkeynes@965 | 24 | #include "lxdream.h" |
nkeynes@1041 | 25 | #include "lxpaths.h" |
nkeynes@965 | 26 | |
nkeynes@965 | 27 | #include <AppKit/AppKit.h> |
nkeynes@965 | 28 | |
nkeynes@965 | 29 | static char *bundle_resource_path = NULL; |
nkeynes@1024 | 30 | static char *bundle_plugin_path = NULL; |
nkeynes@1038 | 31 | static char *user_data_path = NULL; |
nkeynes@965 | 32 | |
nkeynes@965 | 33 | static char *get_bundle_resource_path() |
nkeynes@965 | 34 | { |
nkeynes@965 | 35 | if( bundle_resource_path == NULL ) { |
nkeynes@965 | 36 | NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; |
nkeynes@965 | 37 | NSString *resourcePath = [[NSBundle mainBundle] resourcePath]; |
nkeynes@965 | 38 | bundle_resource_path = strdup([resourcePath UTF8String]); |
nkeynes@965 | 39 | [pool release]; |
nkeynes@965 | 40 | } |
nkeynes@965 | 41 | return bundle_resource_path; |
nkeynes@965 | 42 | } |
nkeynes@965 | 43 | |
nkeynes@965 | 44 | const char *get_sysconf_path() |
nkeynes@965 | 45 | { |
nkeynes@965 | 46 | return get_bundle_resource_path(); |
nkeynes@965 | 47 | } |
nkeynes@965 | 48 | |
nkeynes@965 | 49 | const char *get_locale_path() |
nkeynes@965 | 50 | { |
nkeynes@965 | 51 | return get_bundle_resource_path(); |
nkeynes@965 | 52 | } |
nkeynes@965 | 53 | |
nkeynes@1024 | 54 | const char *get_plugin_path() |
nkeynes@1024 | 55 | { |
nkeynes@1024 | 56 | if( bundle_plugin_path == NULL ) { |
nkeynes@1024 | 57 | NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; |
nkeynes@1024 | 58 | NSString *pluginPath = [[NSBundle mainBundle] builtInPlugInsPath]; |
nkeynes@1024 | 59 | bundle_plugin_path = strdup([pluginPath UTF8String]); |
nkeynes@1024 | 60 | [pool release]; |
nkeynes@1024 | 61 | } |
nkeynes@1024 | 62 | return bundle_plugin_path; |
nkeynes@1024 | 63 | } |
nkeynes@1038 | 64 | |
nkeynes@1038 | 65 | |
nkeynes@1038 | 66 | const char *get_user_data_path() |
nkeynes@1038 | 67 | { |
nkeynes@1038 | 68 | if( user_data_path == NULL ) { |
nkeynes@1038 | 69 | char *home = getenv("HOME"); |
nkeynes@1038 | 70 | user_data_path = g_strdup_printf( "%s/Library/Application Support/Lxdream", home ); |
nkeynes@1038 | 71 | } |
nkeynes@1038 | 72 | return user_data_path; |
nkeynes@1038 | 73 | } |
.