polserver/pol-core/clib/Program/ProgramConfig.cpp
2018-10-07 21:05:02 +02:00

66 lines
1.4 KiB
C++

#include "ProgramConfig.h"
#include "pol_global_config.h"
#include "pol_revision.h"
#include <string>
namespace Pol
{
namespace Clib
{
using namespace std;
///////////////////////////////////////////////////////////////////////////////
std::string ProgramConfig::m_programName = "";
std::string ProgramConfig::m_programDir = "";
///////////////////////////////////////////////////////////////////////////////
ProgramConfig::ProgramConfig() = default;
ProgramConfig::~ProgramConfig() = default;
///////////////////////////////////////////////////////////////////////////////
void ProgramConfig::configureProgramEnvironment( const std::string& programName )
{
m_programName = programName;
std::string exeDir = programName;
std::string::size_type bslashpos;
while ( std::string::npos != ( bslashpos = exeDir.find( '\\' ) ) )
{
exeDir.replace( bslashpos, 1, 1, '/' );
}
std::string::size_type pos = exeDir.find_last_of( '/' );
if ( pos != std::string::npos )
{
exeDir.erase( pos );
exeDir += "/";
}
m_programDir = exeDir;
}
std::string ProgramConfig::programName()
{
return m_programName;
}
std::string ProgramConfig::programDir()
{
return m_programDir;
}
std::string ProgramConfig::build_target()
{
return POL_BUILD_TARGET;
}
std::string ProgramConfig::build_datetime()
{
return POL_BUILD_DATETIME;
}
///////////////////////////////////////////////////////////////////////////////
}
} // namespaces