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.
Nana C++ Library
Linux (gcc 5.4.0 and 4.9.2) including (nana-demos)
Windows (Microsoft (R) Build Engine version 14.0.24720.0)
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.