CHANGES
=======

* Travis CI: only deploy on one of the VMs. Chose OSX since it requires the least setup overall
* Fixed Travis CI secure variable
* Added pbr to requirements
* Added pbr version to \_\_init\_\_.py and added pypi deployment to Travis CI
* Added g++-7 to travis Ubuntu packages to get correct stdlib
* Added missing libc++-dev package to linux CI
* Added linux python 2.7 CI test
* 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
* Removed unnecessary sudo in travis CI
* Removed user keyword in appveyor package install
* Fixed clang-build package installation
* Fixed python version in travis linux build
* Trying a new version of travis.yml
* Trying different travis script
* Added missing quotation marks in appveyor.yml
* Fixed setup.py command in CI scripts
* Removed non-ascii symbols in readme
* Fixed typo in package name in setup.cfg
* Fixed travis script installing package into local user folder
* Removed dash from filenames
* Removed arguments for main function
* Adapted CI scripts for new configuration
* Added a pip setup configuration
* Moved python files into a package folder
* Added a requirements.txt
* 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
* Improved default options for different build types. Also added [target.flags] section to toml parsing, where compile, compileRelease etc. flags can be set. Also removed unneeded -DCOMPILING\_DLL from shared library  flags and fixed dependency link command
* Improved build process: now using dependency graph. The compile and link processes are each started at the leafs of the dependency graph, which is then traversed up to the roots. Target.compiled and Target.linked can later be used to check if a dependency has been built and the current target can continue when the target has multiple dependencies. This is especially useful for doing parallel builds. Added export declarations to test/lib-and-exe/mylib so that everything should now work also on Windows. Note: the dll needs to be placed next to the exe in order for the exe to run
* Started adding capabilities to build shared and static libraries and link them into other targets. Note: this feature is not yet functioning properly, as the link commands are not yet entirely correct
* Added some basic external project capabilities with git clone from url. Currently, only header-only libraries are dealt with properly in this contex. The include-paths are generated correctly and added to the build command of the
* Added first toml parsing of basic build script. Note that no securities are implemented, so it may crash if the file contents is different than in the added MWE
* Separated compilation and linking steps. Also improved verbose info output
* Fixed wrong paths in travis.yml
* Added detection of supported C++ dialects and default usage of newest dialect. Currently, a temporary file is created, containing a simple main function, which is compiled with a full range of -std=... flags to check which standards are available
* Fix Travis CI clang installation
* Added ability to set build type from command line
* Fixed clang call to clang++
* Added verbosity setting to Target. Calling with --verbose now prints the compile command per target
* Added CI test badges to Readme
*  Added AppVeyor CI build
* Added Travis CI build and fixed path creation for Python2
* Added test mini-project, added default include directories to target
* Added hello world test. Can be built with e.g. \`clang-build -d"test/hello"\`
* INIT: add .gitignore, README.md and first version of clang-build.py
