Merge branch 'hotfix-1.7.2' into develop

This commit is contained in:
Jinhao 2019-12-05 03:58:50 +08:00
commit dbf6a7eeba
5 changed files with 27 additions and 28 deletions

View File

@ -1,12 +1,12 @@
# Nana C++ Library # Nana C++ Library
[Linux (gcc 5.4.0 and 4.9.2)![TravisCI build status](https://travis-ci.org/cnjinhao/nana.svg)](https://travis-ci.org/cnjinhao/nana) including [(nana-demos)](https://github.com/qPCR4vir/nana-demo) [Linux (gcc 8.3.0 and 9.2)![TravisCI build status](https://travis-ci.org/cnjinhao/nana.svg)](https://travis-ci.org/cnjinhao/nana) including [(nana-demos)](https://github.com/qPCR4vir/nana-demo)
[Windows (Microsoft (R) Build Engine version 14.0.24720.0) ![AppVeyor build status](https://ci.appveyor.com/api/projects/status/5j79p9fi887usv7h?svg=true)](https://ci.appveyor.com/project/qPCR4vir/nana) [Windows (Microsoft (R) Build Engine version 15.9.21) ![AppVeyor build status](https://ci.appveyor.com/api/projects/status/5j79p9fi887usv7h?svg=true)](https://ci.appveyor.com/project/qPCR4vir/nana)
[![Licence](https://img.shields.io/badge/license-BSL-blue.svg?style=flat)](LICENSE) [![Licence](https://img.shields.io/badge/license-BSL-blue.svg?style=flat)](LICENSE)
Nana is a C++ library designed to allow developers to easily create cross-platform GUI applications with modern C++11 style. Currently it can work on Linux(X11) and Windows. The [nana repository](https://github.com/cnjinhao/nana) contains the entire source of the library. You can browse the source code and submit your pull request for contributing. Nana is a C++ standard-like GUI library designed to allow developers to easily create cross-platform GUI applications with modern C++ style. Currently it is regularly tested on Linux(X11) and Windows, and experimentally on macOS and FreeBSD. The [nana repository](https://github.com/cnjinhao/nana) contains the entire source of the library. You can browse the source code and submit your pull request for contributing.
## License ## License

View File

@ -1,7 +1,7 @@
/** /**
* Predefined Symbols for C++ * Predefined Symbols for C++
* Nana C++ Library(http://www.nanapro.org) * Nana C++ Library(http://www.nanapro.org)
* Copyright(C) 2016-2018 Jinhao(cnjinhao@hotmail.com) * Copyright(C) 2016-2019 Jinhao(cnjinhao@hotmail.com)
* *
* Distributed under the Boost Software License, Version 1.0. * Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at * (See accompanying file LICENSE_1_0.txt or copy at
@ -48,14 +48,15 @@
#ifndef NANA_CXX_DEFINES_INCLUDED #ifndef NANA_CXX_DEFINES_INCLUDED
#define NANA_CXX_DEFINES_INCLUDED #define NANA_CXX_DEFINES_INCLUDED
#define STD_FILESYSTEM_NOT_SUPPORTED // #define STD_FILESYSTEM_NOT_SUPPORTED
//C++ language //C++ language
#if defined(_MSC_VER) #if defined(_MSC_VER)
# if (_MSC_VER < 1900) # if (_MSC_VER < 1900) // VC2013
# //About std.experimental.filesystem. # //About std.experimental.filesystem.
# //Through VC2013 has provided <filesystem>, but all the names are given in namespace std. It's hard to alias these names into std::experimental, # //Through VC2013 has provided <filesystem>, but all the names are given in namespace std. It's hard to alias these names into std::experimental,
# //So Nana use nana.filesystem implement instead for VC2013 # //So Nana use nana.filesystem implement instead for VC2013
# define STD_FILESYSTEM_NOT_SUPPORTED
# #
# //Nana defines some macros for lack of support of keywords # //Nana defines some macros for lack of support of keywords
# define _ALLOW_KEYWORD_MACROS # define _ALLOW_KEYWORD_MACROS
@ -64,8 +65,6 @@
# define noexcept //no support of noexcept until Visual C++ 2015 # define noexcept //no support of noexcept until Visual C++ 2015
# define constexpr //no support of constexpr until Visual C++ 2015 ? const ?? # define constexpr //no support of constexpr until Visual C++ 2015 ? const ??
# else
# undef STD_FILESYSTEM_NOT_SUPPORTED
# endif # endif
#elif defined(__GNUC__) && not defined(__clang__) #elif defined(__GNUC__) && not defined(__clang__)
# if (__GNUC__ == 4 && __GNUC_MINOR__ < 6) # if (__GNUC__ == 4 && __GNUC_MINOR__ < 6)
@ -125,16 +124,16 @@
#elif defined(__clang__) //Clang #elif defined(__clang__) //Clang
#include <iosfwd> //Introduces some implement-specific flags of ISO C++ Library #include <iosfwd> // Introduces some implement-specific flags of ISO C++ Library
#if defined(__GLIBCPP__) || defined(__GLIBCXX__) #if defined(__GLIBCPP__) || defined(__GLIBCXX__)
//<codecvt> is a known issue on libstdc++, it works on libc++ //<codecvt> is a known issue on libstdc++, it works on libc++
#define STD_CODECVT_NOT_SUPPORTED #define STD_CODECVT_NOT_SUPPORTED
#endif #endif
#elif defined(__GNUC__) //GCC #elif defined(__GNUC__) // GCC
#include <iosfwd> //Introduces some implement-specific flags of ISO C++ Library #include <iosfwd> // Introduces some implementation-specific flags of ISO C++ Library
#if defined(__GLIBCPP__) || defined(__GLIBCXX__) #if defined(__GLIBCPP__) || defined(__GLIBCXX__)
//<codecvt> is a known issue on libstdc++, it works on libc++ //<codecvt> is a known issue on libstdc++, it works on libc++ todo review !
#define STD_CODECVT_NOT_SUPPORTED #define STD_CODECVT_NOT_SUPPORTED
//It's a known issue of libstdc++ on MinGW //It's a known issue of libstdc++ on MinGW
@ -155,6 +154,8 @@
# if ((__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3 ) ) ) # if ((__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3 ) ) )
# undef STD_FILESYSTEM_NOT_SUPPORTED # undef STD_FILESYSTEM_NOT_SUPPORTED
# else
# define STD_FILESYSTEM_NOT_SUPPORTED
# endif # endif
#if (__GNUC__ == 4) #if (__GNUC__ == 4)

View File

@ -118,7 +118,7 @@ namespace std {
# undef NANA_USING_STD_EXPERIMENTAL_FILESYSTEM # undef NANA_USING_STD_EXPERIMENTAL_FILESYSTEM
# define NANA_USING_STD_EXPERIMENTAL_FILESYSTEM # define NANA_USING_STD_EXPERIMENTAL_FILESYSTEM
# endif # endif
#endif #endif // BOOST_FILESYSTEM and NANA_FILESYSTEM
#if NANA_USING_NANA_FILESYSTEM #if NANA_USING_NANA_FILESYSTEM
@ -585,7 +585,7 @@ namespace std
} }
#else //#if NANA_USING_NANA_FILESYSTEM #else // not #if NANA_USING_NANA_FILESYSTEM and not BOOST_FILESYSTEM, also incomplete STD_FILESYSTEM
//Implements the missing functions for various version of experimental/filesystem //Implements the missing functions for various version of experimental/filesystem
namespace std namespace std
{ {
@ -601,23 +601,23 @@ namespace std
path weakly_canonical(const path& p); path weakly_canonical(const path& p);
path weakly_canonical(const path& p, std::error_code& err); path weakly_canonical(const path& p, std::error_code& err);
#endif #endif
/*
#if defined(NANA_MINGW) // todo ?? #if defined(NANA_MINGW) // todo ??
bool exists( std::filesystem::file_status s ) noexcept; bool exists( std::filesystem::file_status s ) noexcept;
bool exists( const std::filesystem::path& p ); bool exists( const std::filesystem::path& p );
bool exists( const std::filesystem::path& p, std::error_code& ec ) noexcept; bool exists( const std::filesystem::path& p, std::error_code& ec ) noexcept;
#endif #endif
*/
//Visual Studio 2017 //Visual Studio 2017
#if (defined(NANA_USING_STD_EXPERIMENTAL_FILESYSTEM) && defined(_MSC_VER) && (_MSC_VER > 1912)) || \ #if (defined(NANA_USING_STD_EXPERIMENTAL_FILESYSTEM) && defined(_MSC_VER) && (_MSC_VER > 1912)) || \
(!defined(__clang__) && defined(__GNUC__) && (__cplusplus < 201603 || (__GNUC__* 100 + __GNUC_MINOR__ < 801))) (!defined(__clang__) && defined(__GNUC__) && (__cplusplus < 201603 || (__GNUC__* 100 + __GNUC_MINOR__ < 801)))
path weakly_canonical(const path& p); path weakly_canonical(const path& p);
path weakly_canonical(const path& p, std::error_code& err); path weakly_canonical(const path& p, std::error_code& err);
#endif #endif
} } // namespace filesystem
} } // namespace std
#endif //NANA_USING_NANA_FILESYSTEM #endif // incomplete STD_FILESYSTEM
#include <nana/pop_ignore_diagnostic> #include <nana/pop_ignore_diagnostic>
#endif //NANA_FILESYSTEM_HPP #endif //NANA_FILESYSTEM_HPP

View File

@ -15,8 +15,8 @@
#ifndef NANA_FILESYSTEM_EXT_HPP #ifndef NANA_FILESYSTEM_EXT_HPP
#define NANA_FILESYSTEM_EXT_HPP #define NANA_FILESYSTEM_EXT_HPP
#include <nana/filesystem/filesystem.hpp>
#include <nana/deploy.hpp> #include <nana/deploy.hpp>
#include <nana/filesystem/filesystem.hpp>
namespace nana namespace nana
{ {

View File

@ -11,12 +11,12 @@
* provide some interface for file management * provide some interface for file management
*/ */
#include <nana/config.hpp>
#include <nana/filesystem/filesystem_ext.hpp> #include <nana/filesystem/filesystem_ext.hpp>
#include <vector> #include <vector>
#include <sstream> #include <sstream>
#include <string> #include <string>
#include <nana/config.hpp>
#ifdef _nana_std_put_time #ifdef _nana_std_put_time
#include <nana/stdc++.hpp> #include <nana/stdc++.hpp>
#else #else
@ -149,7 +149,7 @@ namespace nana
} }
} }
#if NANA_USING_NANA_FILESYSTEM #if NANA_USING_NANA_FILESYSTEM // and BOOST ?
namespace nana_fs = nana::filesystem; namespace nana_fs = nana::filesystem;
namespace nana namespace nana
@ -1589,11 +1589,9 @@ namespace std
return exists(status(p, ec)); return exists(status(p, ec));
} }
*/ */
}//end namespace filesystem
}//end namespace std
#if (defined(NANA_USING_STD_EXPERIMENTAL_FILESYSTEM) && defined(_MSC_VER) && (_MSC_VER > 1912)) || \ #if (defined(NANA_USING_STD_EXPERIMENTAL_FILESYSTEM) && defined(_MSC_VER) && (_MSC_VER > 1912)) || \
(!defined(__clang__) && defined(__GNUC__) && (__cplusplus < 201603 || (__GNUC__* 100 + __GNUC_MINOR__ < 801))) (!defined(__clang__) && defined(__GNUC__) && (__cplusplus < 201603 || (__GNUC__* 100 + __GNUC_MINOR__ < 801)))
namespace detail namespace detail
{ {
@ -1736,9 +1734,9 @@ namespace std
{ {
return weakly_canonical(p, &err); return weakly_canonical(p, &err);
} }
}
}
#endif #endif
}//end namespace filesystem
}//end namespace std
#endif //NANA_USING_NANA_FILESYSTEM #endif //NANA_USING_NANA_FILESYSTEM