CHANGES
=======

* Added python 3.6 requirement to setup
* Changed target types and removed non-working test. The target types now have spaces, i.e. "shared library" etc. One can now also specify "executable" and "header only", where the latter will warn the user if sources are found
* Removed Python2 from travis
* Added tqdm and colorama to requirements.txt
* Removed pathlib2 and enum34 from requirements. Replaced usage of pathlib2 with pathlib
* Fixed compile flag ordering and static library settings. Default compile flags are no longer forwarded to the parent targets. Added .h and .c files to source search. Added logging of compile commands
* Fixed progressbar and output collision issue
* Silenced git clone command
* Bugfix: added missing dialect flag in Target. Also made some paths absolute to prevent potential bugs
* Added progressbar. Disable does not work, yet
* Bugfix: updated multi-target test toml
* Bugfix: added missing \`import stat\` in test.py
* Improved handling of target directories, fixed tests. Renamed a few variables to hopefully make them clearer. Fixed rmtree call which is not able to remove downloaded git repositories
* Fixed test paths
* Fixed external project, HeaderOnly and SharedLibrary
* Fixed logging in target.py, added external scripts and external target. External target is not yet ready, as include-directories are not set appropriately, yet. Otherwise minor adjustments to variable names and log messages
* More cleanup of clang\_build
* Fixed binaries appearing in the root folder
* Removed more unused imports
* Removed unused imports
* Fixed pbr version to <4 to avoid pbr bug #1761134
* Another shot a fixing multiprocessing on Windows
* Hopefully fixed the windows multiprocessing issue
* Fixed dependency parsing being broken for the last line
* Fixed bug with multiprocessing on windows
* Added default values to argparse help
* Added another test
* Made dependency file parsing safer
* Fixed tests to run on Windows, too
* Removed unused imports
* Added missing networx dependency
* Added missing pathlib2 dependency
* Changed CI scripts to use the new tests
* Added tests and error reporting. Also simplified some bits
* Added more tests
* Added more tests and made clang-build easier to integrate
* Updated project to a more OO approach
* Updated gitignore to ignore all output from setup.py
* Improved build directory paths and usage of build type
* Fixed usage of subprocess.call using lists instead of single strings
* Removed shell=True from subprocess calls
* Fixed search for supported dialects by padding with zeros. Also added verbose output stating supported dialects
* Created a basic pip setup configuration
* Fixed bug in generation of flags in Target. The default flags were not correctly prepended to the list of target flags when not using a build config file
* Updated Readme for new GitHub repo location
* Added License file
* Fixed bugs with processpool and default flags
* Added multiprocess build, added Buildable class to try and simplify. multiprocessing.Pool is now used to trace dependencies and compile in parallel. The Buildable class now contains all information related to a single source file. This is useful  for parallelisation. At some point either the target should contain a minimal amount of information, or the Buildable should contain a reference to the Target it belongs to (probably the latter), in order to avoid unnecessary data duplication
* Only build objects which need to be updated. Now, the object and source modification dates are checked to determine if it needs rebuilding. This is also done for everything listed in an automatically generated depfile
* Updated Readme
* Bugfix for "linking" of header-only libraries. Also improved platform-specific flags. Added -Xclang -flto-visibility-public-std to the platform\_extra\_flags\_... for Windows, which should suppress a warning and prevent possible problems. The platform-specific flags are now more granular (exe, shared, static)
* Improved compilation step by adding build folder structure and fixing shared library build. Also added .h and .c files to default file endings
* Added detection of clang++ and llvm-ar, warning if not found
* Added flags for position independent code on linux shared library
* CI: added OSX and more tests to Travis, added tests to AppVeyor. Also removed Linux build using Python3 from Travis, as it won't work properly
