-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2020 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "InterpKernelException.hxx"
#include <cstdlib>
+#ifdef WIN32
+#include<direct.h>
+#define getcwd _getcwd
+#else
#include <unistd.h>
+#endif
#include <sstream>
#include <fstream>
+#include <algorithm>
namespace INTERP_TEST
{
{
std::string resourceFile = "";
if ( getenv("MEDCOUPLING_ROOT_DIR") ) {
- // use MEDCOUPLING_ROOT_DIR env.var
- resourceFile = getenv("MEDCOUPLING_ROOT_DIR");
- resourceFile += IK_PATH_SEP + "share" + IK_PATH_SEP + "resources" + IK_PATH_SEP + "med" + IK_PATH_SEP;
- resourceFile += filename;
- std::ifstream my_file(resourceFile);
- if (my_file.good())
- return resourceFile;
+ // use MEDCOUPLING_ROOT_DIR env.var
+ resourceFile = getenv("MEDCOUPLING_ROOT_DIR");
+ resourceFile += "/share/resources/med/";
+ resourceFile += filename;
+ std::ifstream my_file(resourceFile.c_str());
+ if (my_file.good())
+ return resourceFile;
+ }
+ if ( getenv("MEDCOUPLING_RESOURCE_DIR") ) {
+ // use MEDCOUPLING_RESOURCE_DIR env.var
+ resourceFile = getenv("MEDCOUPLING_RESOURCE_DIR");
+ resourceFile.erase(std::remove(resourceFile.begin(), resourceFile.end(), ':'), resourceFile.end());
+ resourceFile += "/";
+ resourceFile += filename;
+ std::ifstream my_file(resourceFile.c_str());
+ if (my_file.good())
+ return resourceFile;
}
// else
- resourceFile = get_current_dir_name();
- resourceFile += IK_PATH_SEP;
+ char * tmp_c = getcwd(NULL, 0);
+ resourceFile = tmp_c;
+ free(tmp_c);
+ resourceFile += "/";
for(int i=0; i<levelUp; i++)
- resourceFile += ".." + IK_PATH_SEP;
- resourceFile += "resources" + IK_PATH_SEP;
+ resourceFile += "../";
+ resourceFile += "resources/";
resourceFile += filename;
- std::ifstream my_file(resourceFile);
+ std::ifstream my_file(resourceFile.c_str());
if (!my_file.good())
{
std::stringstream ss;