ENH: Start adding the code that will truncate output logs
This commit is contained in:
parent
5a25895c1c
commit
69ca8776a8
|
@ -65,6 +65,8 @@
|
||||||
# include <sys/resource.h>
|
# include <sys/resource.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <sys/stat.h> // struct stat
|
||||||
|
|
||||||
#include <memory> // auto_ptr
|
#include <memory> // auto_ptr
|
||||||
|
|
||||||
void cmNeedBackwardsCompatibility(const std::string& variable,
|
void cmNeedBackwardsCompatibility(const std::string& variable,
|
||||||
|
@ -1107,6 +1109,9 @@ int cmake::Configure()
|
||||||
cmCacheManager::STRING);
|
cmCacheManager::STRING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this->TruncateOutputLog("CMakeOutput.log");
|
||||||
|
this->TruncateOutputLog("CMakeError.log");
|
||||||
|
|
||||||
// no generator specified on the command line
|
// no generator specified on the command line
|
||||||
if(!m_GlobalGenerator)
|
if(!m_GlobalGenerator)
|
||||||
{
|
{
|
||||||
|
@ -1696,3 +1701,29 @@ int cmake::CheckBuildSystem()
|
||||||
// No need to rerun.
|
// No need to rerun.
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
void cmake::TruncateOutputLog(const char* fname)
|
||||||
|
{
|
||||||
|
std::string fullPath = this->GetHomeOutputDirectory();
|
||||||
|
fullPath += "/";
|
||||||
|
fullPath += fname;
|
||||||
|
struct stat st;
|
||||||
|
if ( ::stat(fullPath.c_str(), &st) )
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ( !m_CacheManager->GetCacheValue("CMAKE_CACHEFILE_DIR") )
|
||||||
|
{
|
||||||
|
cmSystemTools::RemoveFile(fullPath.c_str());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
size_t fsize = st.st_size;
|
||||||
|
const size_t maxFileSize = 50 * 1024;
|
||||||
|
if ( fsize < maxFileSize )
|
||||||
|
{
|
||||||
|
//TODO: truncate file
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -283,6 +283,10 @@ protected:
|
||||||
bool CacheVersionMatches();
|
bool CacheVersionMatches();
|
||||||
///! read in a cmake list file to initialize the cache
|
///! read in a cmake list file to initialize the cache
|
||||||
void ReadListFile(const char *path);
|
void ReadListFile(const char *path);
|
||||||
|
|
||||||
|
///! Check if CMAKE_CACHEFILE_DIR is set. If it is not, delete the log file.
|
||||||
|
/// If it is set, truncate it to 50kb
|
||||||
|
void TruncateOutputLog(const char* fname);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method called to check build system integrity at build time.
|
* Method called to check build system integrity at build time.
|
||||||
|
|
Loading…
Reference in New Issue