FIX using newer Boost
TODO use std::filesystem not experimental
This commit is contained in:
parent
4ba35bd323
commit
0309e79701
@ -410,7 +410,8 @@ message ( "CMAKE_COMPILER_IS_GNUCXX = " ${CMAKE_COMPILER_IS_GNUCXX})
|
|||||||
message ( "CMAKE_CXX_FLAGS = " ${CMAKE_CXX_FLAGS})
|
message ( "CMAKE_CXX_FLAGS = " ${CMAKE_CXX_FLAGS})
|
||||||
message ( "CMAKE_EXE_LINKER_FLAGS = " ${CMAKE_EXE_LINKER_FLAGS})
|
message ( "CMAKE_EXE_LINKER_FLAGS = " ${CMAKE_EXE_LINKER_FLAGS})
|
||||||
message ( "CMAKE_STATIC_LINKER_FLAGS = " ${CMAKE_STATIC_LINKER_FLAGS})
|
message ( "CMAKE_STATIC_LINKER_FLAGS = " ${CMAKE_STATIC_LINKER_FLAGS})
|
||||||
message ( "NANA_LINKS = " ${NANA_LINKS})
|
#message ("")
|
||||||
|
cmake_print_variables ( NANA_LINKS )
|
||||||
message ( "DESTDIR = " ${DESTDIR})
|
message ( "DESTDIR = " ${DESTDIR})
|
||||||
message ( "CMAKE_INSTALL_PREFIX = " ${CMAKE_INSTALL_PREFIX})
|
message ( "CMAKE_INSTALL_PREFIX = " ${CMAKE_INSTALL_PREFIX})
|
||||||
message ( "NANA_INCLUDE_DIR = " ${NANA_INCLUDE_DIR})
|
message ( "NANA_INCLUDE_DIR = " ${NANA_INCLUDE_DIR})
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
* and need VC2015 or a C++11 compiler. With a few correction can be compiler by VC2013
|
* and need VC2015 or a C++11 compiler. With a few correction can be compiler by VC2013
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf --- last pdf of std draft N4100 <filesystem> 2014-07-04
|
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4100.pdf --- pdf of std draft N4100 <filesystem> 2014-07-04
|
||||||
// http://en.cppreference.com/w/cpp/experimental/fs
|
// http://en.cppreference.com/w/cpp/experimental/fs
|
||||||
// http://cpprocks.com/introduction-to-tr2-filesystem-library-in-vs2012/ --- TR2 filesystem in VS2012
|
// http://cpprocks.com/introduction-to-tr2-filesystem-library-in-vs2012/ --- TR2 filesystem in VS2012
|
||||||
// https://msdn.microsoft.com/en-us/library/hh874694%28v=vs.140%29.aspx --- C++ 14, the <filesystem> header VS2015
|
// https://msdn.microsoft.com/en-us/library/hh874694%28v=vs.140%29.aspx --- C++ 14, the <filesystem> header VS2015
|
||||||
@ -55,36 +55,6 @@
|
|||||||
#define NANA_USING_BOOST_FILESYSTEM 1
|
#define NANA_USING_BOOST_FILESYSTEM 1
|
||||||
# include <chrono>
|
# include <chrono>
|
||||||
# include <boost/filesystem.hpp>
|
# include <boost/filesystem.hpp>
|
||||||
// dont include generic_u8string
|
|
||||||
// http://www.boost.org/doc/libs/1_66_0/boost/filesystem/path.hpp
|
|
||||||
// enable directory_iterator C++11 range-base for
|
|
||||||
// http://www.boost.org/doc/libs/1_66_0/boost/filesystem/operations.hpp
|
|
||||||
// but travis come with an oooold version of boost
|
|
||||||
// NOT enable directory_iterator C++11 range-base for
|
|
||||||
// http://www.boost.org/doc/libs/1_54_0/boost/filesystem/operations.hpp
|
|
||||||
namespace boost
|
|
||||||
{
|
|
||||||
namespace filesystem
|
|
||||||
{
|
|
||||||
|
|
||||||
// enable directory_iterator C++11 range-base for statement use --------------------//
|
|
||||||
|
|
||||||
// begin() and end() are only used by a range-based for statement in the context of
|
|
||||||
// auto - thus the top-level const is stripped - so returning const is harmless and
|
|
||||||
// emphasizes begin() is just a pass through.
|
|
||||||
inline const directory_iterator& begin(const directory_iterator& iter) BOOST_NOEXCEPT
|
|
||||||
{
|
|
||||||
return iter;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline directory_iterator end(const directory_iterator&) BOOST_NOEXCEPT
|
|
||||||
{
|
|
||||||
return directory_iterator();
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace filesystem
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// add boost::filesystem into std::experimental::filesystem
|
// add boost::filesystem into std::experimental::filesystem
|
||||||
namespace std {
|
namespace std {
|
||||||
@ -105,16 +75,32 @@ namespace std {
|
|||||||
socket = boost::filesystem::file_type::socket_file,
|
socket = boost::filesystem::file_type::socket_file,
|
||||||
unknown = boost::filesystem::file_type::type_unknown,
|
unknown = boost::filesystem::file_type::type_unknown,
|
||||||
};
|
};
|
||||||
/// enable directory_iterator range-based for statements
|
// Boost dont include generic_u8string
|
||||||
//inline directory_iterator begin(directory_iterator iter) noexcept
|
// http://www.boost.org/doc/libs/1_66_0/boost/filesystem/path.hpp
|
||||||
//{
|
//
|
||||||
// return iter;
|
// Boost versions: 1.67.0, 1.66.0, ... 1.56.0 enable directory_iterator C++11 range-base for
|
||||||
//}
|
// http://www.boost.org/doc/libs/1_66_0/boost/filesystem/operations.hpp
|
||||||
|
// but travis come with an oooold version of boost
|
||||||
|
// 1.55.0 NOT enable directory_iterator C++11 range-base for
|
||||||
|
// http://www.boost.org/doc/libs/1_54_0/boost/filesystem/operations.hpp
|
||||||
|
#if BOOST_VERSION < 105600
|
||||||
|
namespace boost
|
||||||
|
// enable directory_iterator C++11 range-base for statement use --------------------//
|
||||||
|
|
||||||
|
// begin() and end() are only used by a range-based for statement in the context of
|
||||||
|
// auto - thus the top-level const is stripped - so returning const is harmless and
|
||||||
|
// emphasizes begin() is just a pass through.
|
||||||
|
inline const directory_iterator& begin(const directory_iterator& iter) BOOST_NOEXCEPT
|
||||||
|
{
|
||||||
|
return iter;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline directory_iterator end(const directory_iterator&) BOOST_NOEXCEPT
|
||||||
|
{
|
||||||
|
return directory_iterator();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
//inline directory_iterator end(const directory_iterator&) noexcept
|
|
||||||
//{
|
|
||||||
// return {};
|
|
||||||
//}
|
|
||||||
} // filesystem
|
} // filesystem
|
||||||
} // experimental
|
} // experimental
|
||||||
} // std
|
} // std
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user