Skip to content

Commit

Permalink
Use CUSTOM_LOCALEDIR if specified
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowNinja authored and est31 committed Sep 6, 2015
1 parent 31b6d26 commit 645e208
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
1 change: 1 addition & 0 deletions src/cmake_config.h.in
Expand Up @@ -12,6 +12,7 @@
#define VERSION_STRING "@VERSION_STRING@"
#define PRODUCT_VERSION_STRING "@VERSION_MAJOR@.@VERSION_MINOR@"
#define STATIC_SHAREDIR "@SHAREDIR@"
#define STATIC_LOCALEDIR "@LOCALEDIR@"
#define BUILD_TYPE "@CMAKE_BUILD_TYPE@"
#cmakedefine01 RUN_IN_PLACE
#cmakedefine01 USE_GETTEXT
Expand Down
4 changes: 2 additions & 2 deletions src/main.cpp
Expand Up @@ -472,10 +472,10 @@ static bool init_common(int *log_level, const Settings &cmd_args, int argc, char
httpfetch_init(g_settings->getS32("curl_parallel_limit"));

#ifdef _MSC_VER
init_gettext((porting::path_share + DIR_DELIM + "locale").c_str(),
init_gettext(porting::path_locale.c_str(),
g_settings->get("language"), argc, argv);
#else
init_gettext((porting::path_share + DIR_DELIM + "locale").c_str(),
init_gettext(porting::path_locale.c_str(),
g_settings->get("language"));
#endif

Expand Down
8 changes: 7 additions & 1 deletion src/porting.cpp
Expand Up @@ -136,6 +136,8 @@ void signal_handler_init(void)
// Default to RUN_IN_PLACE style relative paths
std::string path_share = "..";
std::string path_user = "..";
std::string path_locale = path_share + DIR_DELIM + "locale";


std::string getDataPath(const char *subpath)
{
Expand Down Expand Up @@ -503,13 +505,17 @@ void initializePaths()
path_share = execpath;
path_user = execpath;
}

#else
infostream << "Using system-wide paths (NOT RUN_IN_PLACE)" << std::endl;

if (!setSystemPaths())
errorstream << "Failed to get one or more system-wide path" << std::endl;

#endif
#ifdef STATIC_LOCALEDIR
path_locale = STATIC_LOCALEDIR[0] ? STATIC_LOCALEDIR : getDataPath("locale");
#else
path_locale = getDataPath("locale");
#endif

infostream << "Detected share path: " << path_share << std::endl;
Expand Down
7 changes: 6 additions & 1 deletion src/porting.h
Expand Up @@ -142,14 +142,19 @@ extern std::string path_share;
*/
extern std::string path_user;

/*
Path to gettext locale files
*/
extern std::string path_locale;

/*
Get full path of stuff in data directory.
Example: "stone.png" -> "../data/stone.png"
*/
std::string getDataPath(const char *subpath);

/*
Initialize path_share and path_user.
Initialize path_*.
*/
void initializePaths();

Expand Down

0 comments on commit 645e208

Please sign in to comment.