X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreaSystem.cxx;h=1346a08a085d16efc80fe686fde8a6d75f5ab975;hb=6621cea2f494bd58d194e3165a5fdb1981025583;hp=69293a982369586e718dd76c6bfe73a4062a7ea4;hpb=e75e59008c595bb6abcc4595edd3cd352a609e89;p=crea.git diff --git a/src/creaSystem.cxx b/src/creaSystem.cxx index 69293a9..1346a08 100644 --- a/src/creaSystem.cxx +++ b/src/creaSystem.cxx @@ -4,10 +4,17 @@ #include #ifdef WIN32 -#include /* GetModuleFileName */ -#include + #include /* GetModuleFileName */ + #include + #endif /* WIN32 */ +#ifdef LINUX + #include + #include + #include +#endif + #ifdef __APPLE__ /* assume this is OSX */ #include #include /* _NSGetExecutablePath : must add -framework @@ -180,6 +187,22 @@ std::string System::GetDllAppPath(std::string &nomdll){ return path; } + +std::string System::GetDllAppPath(const char *nomdll){ + std::string path = "."; +#ifdef WIN32 + char currentPath[_MAX_PATH]; + HMODULE hand = GetModuleHandle(nomdll); + GetModuleFileName(hand, currentPath, _MAX_PATH); + + path = currentPath; + + path = path.substr(0,path.find_last_of("\\")); +#endif + return path; +} + + #if defined(_WIN32) #define CREACONTOUR_VALID_FILE_SEPARATOR_CHAR '\\' #else @@ -204,5 +227,38 @@ std::string System::GetExecutablePath(){ } return name; } + + void System::createDirectory(const char* directorypath){ + #ifdef WIN32 + if (CreateDirectory(directorypath, NULL) == ERROR_ALREADY_EXISTS) + { + std::cout<<"directory already exists "<