mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-05 14:18:35 -06:00
Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream * upstream-KWSys: KWSys 2019-11-13 (e67ed8ef)
This commit is contained in:
@@ -12,3 +12,7 @@
|
|||||||
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
|
||||||
kwsys.testProcess-10
|
kwsys.testProcess-10
|
||||||
)
|
)
|
||||||
|
|
||||||
|
list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
|
||||||
|
"LICENSE WARNING"
|
||||||
|
)
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ public:
|
|||||||
|
|
||||||
bool _open(char const* file_name, std::ios_base::openmode mode)
|
bool _open(char const* file_name, std::ios_base::openmode mode)
|
||||||
{
|
{
|
||||||
if (is_open() || file_) {
|
if (_is_open() || file_) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
# if defined(_MSC_VER)
|
# if defined(_MSC_VER)
|
||||||
@@ -108,7 +108,7 @@ public:
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_open()
|
bool _is_open()
|
||||||
{
|
{
|
||||||
if (!buf_) {
|
if (!buf_) {
|
||||||
return false;
|
return false;
|
||||||
@@ -116,7 +116,7 @@ public:
|
|||||||
return buf_->is_open();
|
return buf_->is_open();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_open() const
|
bool _is_open() const
|
||||||
{
|
{
|
||||||
if (!buf_) {
|
if (!buf_) {
|
||||||
return false;
|
return false;
|
||||||
@@ -198,9 +198,11 @@ public:
|
|||||||
this->_set_state(this->_open(file_name, mode), this, this);
|
this->_set_state(this->_open(file_name, mode), this, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool is_open() { return this->_is_open(); }
|
||||||
|
|
||||||
void close() { this->_set_state(this->_close(), this, this); }
|
void close() { this->_set_state(this->_close(), this, this); }
|
||||||
|
|
||||||
using basic_efilebuf<CharType, Traits>::is_open;
|
using basic_efilebuf<CharType, Traits>::_is_open;
|
||||||
|
|
||||||
internal_buffer_type* rdbuf() const { return this->buf_; }
|
internal_buffer_type* rdbuf() const { return this->buf_; }
|
||||||
|
|
||||||
@@ -212,7 +214,7 @@ class basic_ofstream
|
|||||||
: public std::basic_ostream<CharType, Traits>
|
: public std::basic_ostream<CharType, Traits>
|
||||||
, public basic_efilebuf<CharType, Traits>
|
, public basic_efilebuf<CharType, Traits>
|
||||||
{
|
{
|
||||||
using basic_efilebuf<CharType, Traits>::is_open;
|
using basic_efilebuf<CharType, Traits>::_is_open;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
typedef typename basic_efilebuf<CharType, Traits>::internal_buffer_type
|
typedef typename basic_efilebuf<CharType, Traits>::internal_buffer_type
|
||||||
@@ -242,6 +244,8 @@ public:
|
|||||||
|
|
||||||
void close() { this->_set_state(this->_close(), this, this); }
|
void close() { this->_set_state(this->_close(), this, this); }
|
||||||
|
|
||||||
|
bool is_open() { return this->_is_open(); }
|
||||||
|
|
||||||
internal_buffer_type* rdbuf() const { return this->buf_; }
|
internal_buffer_type* rdbuf() const { return this->buf_; }
|
||||||
|
|
||||||
~basic_ofstream() @KWSYS_NAMESPACE@_FStream_NOEXCEPT { close(); }
|
~basic_ofstream() @KWSYS_NAMESPACE@_FStream_NOEXCEPT { close(); }
|
||||||
|
|||||||
@@ -66,6 +66,13 @@ private:
|
|||||||
const char* searchstring;
|
const char* searchstring;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
# pragma warning(push)
|
||||||
|
# if _MSC_VER < 1900
|
||||||
|
# pragma warning(disable : 4351) /* new behavior */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Creates an invalid match object
|
* \brief Creates an invalid match object
|
||||||
*/
|
*/
|
||||||
@@ -76,6 +83,10 @@ inline RegularExpressionMatch::RegularExpressionMatch()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
# pragma warning(pop)
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Returns true if the match pointers are valid
|
* \brief Returns true if the match pointers are valid
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -2326,14 +2326,8 @@ bool SystemTools::TextFilesDiffer(const std::string& path1,
|
|||||||
static bool CopyFileContentBlockwise(const std::string& source,
|
static bool CopyFileContentBlockwise(const std::string& source,
|
||||||
const std::string& destination)
|
const std::string& destination)
|
||||||
{
|
{
|
||||||
// Open files
|
// Open files
|
||||||
#if defined(_WIN32)
|
|
||||||
kwsys::ifstream fin(
|
|
||||||
Encoding::ToNarrow(Encoding::ToWindowsExtendedPath(source)).c_str(),
|
|
||||||
std::ios::in | std::ios::binary);
|
|
||||||
#else
|
|
||||||
kwsys::ifstream fin(source.c_str(), std::ios::in | std::ios::binary);
|
kwsys::ifstream fin(source.c_str(), std::ios::in | std::ios::binary);
|
||||||
#endif
|
|
||||||
if (!fin) {
|
if (!fin) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2344,14 +2338,8 @@ static bool CopyFileContentBlockwise(const std::string& source,
|
|||||||
// that do not allow file removal can be modified.
|
// that do not allow file removal can be modified.
|
||||||
SystemTools::RemoveFile(destination);
|
SystemTools::RemoveFile(destination);
|
||||||
|
|
||||||
#if defined(_WIN32)
|
|
||||||
kwsys::ofstream fout(
|
|
||||||
Encoding::ToNarrow(Encoding::ToWindowsExtendedPath(destination)).c_str(),
|
|
||||||
std::ios::out | std::ios::trunc | std::ios::binary);
|
|
||||||
#else
|
|
||||||
kwsys::ofstream fout(destination.c_str(),
|
kwsys::ofstream fout(destination.c_str(),
|
||||||
std::ios::out | std::ios::trunc | std::ios::binary);
|
std::ios::out | std::ios::trunc | std::ios::binary);
|
||||||
#endif
|
|
||||||
if (!fout) {
|
if (!fout) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -172,6 +172,14 @@ static int kwsysTerminalStreamIsVT100(FILE* stream, int default_vt100,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* GNU make 4.1+ may tell us that its output is destined for a TTY. */
|
||||||
|
{
|
||||||
|
const char* termout = getenv("MAKE_TERMOUT");
|
||||||
|
if (termout && *termout != '\0') {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* If running inside emacs the terminal is not VT100. Some emacs
|
/* If running inside emacs the terminal is not VT100. Some emacs
|
||||||
seem to claim the TERM is xterm even though they do not support
|
seem to claim the TERM is xterm even though they do not support
|
||||||
VT100 escapes. */
|
VT100 escapes. */
|
||||||
|
|||||||
Reference in New Issue
Block a user