2015-11-08 19:18:14 +01:00
|
|
|
#include "ProgramConfig.h"
|
2018-06-18 10:27:01 +02:00
|
|
|
#include "pol_global_config.h"
|
|
|
|
|
#include "pol_revision.h"
|
2015-11-08 14:45:05 +01:00
|
|
|
#include <string>
|
|
|
|
|
|
2016-02-19 19:26:35 +01:00
|
|
|
namespace Pol
|
|
|
|
|
{
|
|
|
|
|
namespace Clib
|
|
|
|
|
{
|
2015-11-08 14:45:05 +01:00
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
2015-11-08 19:18:14 +01:00
|
|
|
std::string ProgramConfig::m_programName = "";
|
|
|
|
|
std::string ProgramConfig::m_programDir = "";
|
2015-11-08 14:45:05 +01:00
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
2016-12-15 16:59:58 +01:00
|
|
|
void ProgramConfig::configureProgramEnvironment( const std::string& programName )
|
2015-11-08 14:45:05 +01:00
|
|
|
{
|
2016-02-19 19:26:35 +01:00
|
|
|
m_programName = programName;
|
|
|
|
|
|
|
|
|
|
std::string exeDir = programName;
|
|
|
|
|
std::string::size_type bslashpos;
|
|
|
|
|
while ( std::string::npos != ( bslashpos = exeDir.find( '\\' ) ) )
|
|
|
|
|
{
|
|
|
|
|
exeDir.replace( bslashpos, 1, 1, '/' );
|
|
|
|
|
}
|
|
|
|
|
|
2016-12-15 13:34:06 +01:00
|
|
|
std::string::size_type pos = exeDir.find_last_of( '/' );
|
2016-02-19 19:26:35 +01:00
|
|
|
if ( pos != std::string::npos )
|
|
|
|
|
{
|
|
|
|
|
exeDir.erase( pos );
|
|
|
|
|
exeDir += "/";
|
|
|
|
|
}
|
2022-09-21 13:49:08 +02:00
|
|
|
|
2022-10-18 18:21:12 +08:00
|
|
|
pos = exeDir.rfind( "/./" );
|
2022-09-21 13:49:08 +02:00
|
|
|
if ( pos != std::string::npos )
|
|
|
|
|
{
|
2022-10-18 18:21:12 +08:00
|
|
|
exeDir.erase( pos, 2 );
|
2022-09-21 13:49:08 +02:00
|
|
|
}
|
|
|
|
|
|
2016-02-19 19:26:35 +01:00
|
|
|
m_programDir = exeDir;
|
2015-11-08 14:45:05 +01:00
|
|
|
}
|
|
|
|
|
|
2015-11-08 19:18:14 +01:00
|
|
|
std::string ProgramConfig::programName()
|
2015-11-08 14:45:05 +01:00
|
|
|
{
|
2016-02-19 19:26:35 +01:00
|
|
|
return m_programName;
|
2015-11-08 14:45:05 +01:00
|
|
|
}
|
|
|
|
|
|
2015-11-08 19:18:14 +01:00
|
|
|
std::string ProgramConfig::programDir()
|
2015-11-08 14:45:05 +01:00
|
|
|
{
|
2016-02-19 19:26:35 +01:00
|
|
|
return m_programDir;
|
2015-11-08 14:45:05 +01:00
|
|
|
}
|
|
|
|
|
|
2018-06-18 10:27:01 +02:00
|
|
|
std::string ProgramConfig::build_target()
|
|
|
|
|
{
|
|
|
|
|
return POL_BUILD_TARGET;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::string ProgramConfig::build_datetime()
|
|
|
|
|
{
|
|
|
|
|
return POL_BUILD_DATETIME;
|
|
|
|
|
}
|
|
|
|
|
|
2015-11-08 14:45:05 +01:00
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
2016-02-19 19:26:35 +01:00
|
|
|
}
|
|
|
|
|
} // namespaces
|