pavelxdd 7e68068c25 fix compilation with boost::filesystem
CMakeLists.txt:
---------------------------
Until now build with boost::filesystem was completely broken,
since cmake exported definitions with wrong name prefixes, and
nana always defaulted to internal filesystem implementation.

After fixing the boost definitions, a number of errors came up
due to incompatibility of boost::filesystem with nana and std
filesystems. This commit tries to fix them all.

filesystem.cpp, filesystem.hpp, filebox.cpp:
--------------------------------------------
boost::filesystem doesn't have a file_time_type, so declared
it in the filesystem.hpp header.

boost::filesystem::last_write_time has a return type std::time_t
unlike the other two implementations of this function in nana
and std, so added ifdef to convert the result to file_time_type.

fixed build on gcc-4.9, since it doesn't have a std::put_time
function, included <nana/stdc++.hpp> in that case.

boost::filesystem::file_type types have different names than
std::experimental::filesystem::file_type types, fixed it by
creating an enum class file_type with the same type names as
in std::experimental::filesystem::file_type. This fix
requires static_cast from functions results to internal file_type,
since boost file_type and std file_type a different enum classes.

changed switch to if, bacause old gcc fails on converting
enum class members to int.

stdc++.hpp:
-----------
added ifndef guards to prevent errors on multiple includes of this header.

wvl.cpp:
--------
added boost/chrono.hpp include for the cases when std::thread is not
available.

travis:
-------
added boost system, thread, chrono libs to install, they are needed
for the nana-demo to compile.
2017-11-28 06:22:17 +03:00
2015-04-05 22:07:57 +08:00
2016-07-19 23:28:00 +08:00
2016-02-12 02:42:00 +01:00
2014-12-11 03:32:35 +08:00
2016-12-16 14:05:06 +01:00
2016-06-26 13:55:33 +02:00

Nana C++ Library

Linux (gcc 5.4.0 and 4.9.2)TravisCI build status including (nana-demos)

Windows (Microsoft (R) Build Engine version 14.0.24720.0) AppVeyor build status

Licence

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 contains the entire source of the library. You can browse the source code and submit your pull request for contributing.

License

Nana is licensed under the Boost Software License

Members

Jinhao, Ariel Viña Rodríguez.

Support

The best way to get help with Nana library is by visiting http://nanapro.org/help.htm

Sending a Pull Request ?

This project encourage you to contribute through sending a pull request! There is a simple rule: please don't directly commit your contributions to the master branch. According to your commits, please choose the hotfixes branch or the develop branch. Thank you!

Introduction to the Repository

There are two main branches with an infinite lifetime:

  • master is the main branch and it is marked as every version release.
  • develop is also another main branch where the source code reflects a state with the lastest delivered developement changes for the next release.

Other branches:

  • features are used to develop new features for the upcoming or a distant future release. Feature branches are named as 'feature-FEATURENAME'.
  • hotfix is meant to prepare for a new release, and fixes some bugs from the corresponding tag on the master branch.
Description
No description provided
Readme 6.9 MiB
Languages
C++ 98.7%
CMake 1.3%