forked from Mirrorlandia_minetest/minetest
MSVC build directory autodetection at startup
This commit is contained in:
parent
0557df8d06
commit
728d01ef4b
@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "filesys.h"
|
#include "filesys.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
#include "utility_string.h"
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
#include "CoreFoundation/CoreFoundation.h"
|
#include "CoreFoundation/CoreFoundation.h"
|
||||||
@ -144,6 +145,13 @@ void pathRemoveFile(char *path, char delim)
|
|||||||
path[i] = 0;
|
path[i] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool detectMSVCBuildDir(char *c_path)
|
||||||
|
{
|
||||||
|
std::string path(c_path);
|
||||||
|
const char *ends[] = {"bin\\Release", "bin\\Build", NULL};
|
||||||
|
return (removeStringEnd(path, ends) != "");
|
||||||
|
}
|
||||||
|
|
||||||
void initializePaths()
|
void initializePaths()
|
||||||
{
|
{
|
||||||
#ifdef RUN_IN_PLACE
|
#ifdef RUN_IN_PLACE
|
||||||
@ -168,8 +176,15 @@ void initializePaths()
|
|||||||
assert(len < buflen);
|
assert(len < buflen);
|
||||||
pathRemoveFile(buf, '\\');
|
pathRemoveFile(buf, '\\');
|
||||||
|
|
||||||
path_share = std::string(buf) + "\\..";
|
if(detectMSVCBuildDir(buf)){
|
||||||
path_user = std::string(buf) + "\\..";
|
infostream<<"MSVC build directory detected"<<std::endl;
|
||||||
|
path_share = std::string(buf) + "\\..\\..";
|
||||||
|
path_user = std::string(buf) + "\\..\\..";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
path_share = std::string(buf) + "\\..";
|
||||||
|
path_user = std::string(buf) + "\\..";
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Linux
|
Linux
|
||||||
|
Loading…
Reference in New Issue
Block a user