|
|
@@ -1016,34 +1016,37 @@ int cmCTest::BuildDirectory()
|
|
|
}
|
|
|
|
|
|
int cc;
|
|
|
- std::string srcdir = m_DartConfiguration["SourceDirectory"] + "/";
|
|
|
- std::string bindir = m_DartConfiguration["BuildDirectory"] + "/";
|
|
|
- std::string srcdirrep;
|
|
|
- std::string bindirrep;
|
|
|
- for ( cc = srcdir.size()-2; cc > 0; cc -- )
|
|
|
+ if ( m_DartConfiguration["SourceDirectory"].size() > 20 ||
|
|
|
+ m_DartConfiguration["BuildDirectory"].size() > 20 )
|
|
|
{
|
|
|
- if ( srcdir[cc] == '/' )
|
|
|
+ std::string srcdir = m_DartConfiguration["SourceDirectory"] + "/";
|
|
|
+ std::string bindir = m_DartConfiguration["BuildDirectory"] + "/";
|
|
|
+ std::string srcdirrep;
|
|
|
+ std::string bindirrep;
|
|
|
+ for ( cc = srcdir.size()-2; cc > 0; cc -- )
|
|
|
{
|
|
|
- srcdirrep = srcdir.c_str() + cc;
|
|
|
- srcdirrep = "/..." + srcdirrep;
|
|
|
- break;
|
|
|
+ if ( srcdir[cc] == '/' )
|
|
|
+ {
|
|
|
+ srcdirrep = srcdir.c_str() + cc;
|
|
|
+ srcdirrep = "/..." + srcdirrep;
|
|
|
+ srcdir = srcdir.substr(0, cc+1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- for ( cc = bindir.size()-2; cc > 0; cc -- )
|
|
|
- {
|
|
|
- if ( bindir[cc] == '/' )
|
|
|
+ for ( cc = bindir.size()-2; cc > 0; cc -- )
|
|
|
{
|
|
|
- bindirrep = bindir.c_str() + cc;
|
|
|
- bindirrep = "/..." + bindirrep;
|
|
|
- break;
|
|
|
+ if ( bindir[cc] == '/' )
|
|
|
+ {
|
|
|
+ bindirrep = bindir.c_str() + cc;
|
|
|
+ bindirrep = "/..." + bindirrep;
|
|
|
+ bindir = bindir.substr(0, cc+1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- //std::cout << "Use " << srcdirrep.c_str() << std::endl;
|
|
|
- //std::cout << "Use " << bindirrep.c_str() << std::endl;
|
|
|
-
|
|
|
- cmSystemTools::ReplaceString(output, srcdir.c_str(), srcdirrep.c_str());
|
|
|
- cmSystemTools::ReplaceString(output, bindir.c_str(), bindirrep.c_str());
|
|
|
+ cmSystemTools::ReplaceString(output, srcdir.c_str(), "/.../"); //srcdirrep.c_str());
|
|
|
+ cmSystemTools::ReplaceString(output, bindir.c_str(), "/.../"); //bindirrep.c_str());
|
|
|
+ }
|
|
|
|
|
|
// Parsing of output for errors and warnings.
|
|
|
|