Following some of the advices from this blog entry (namely points 1, 3 and 4) and to enabled realization of more points from the list, we now have automatic builds on commit of the libosmscout sources.
You can thus now find automatic builds for Linux and OS X using clang and gcc at Travis CI. You can find builds for Visual Studio 2015 and MinGW/MSYS2 at Appveyor.
Using these cloud based external continuous integration provider enables the project now to regularly check, if things compile under all supported platforms.
It will enable us to make some rudimentary tests, too. And it might – if resource limitations on the CI platforms allow – enable us even to even offer build products in future.
If some important platform is still missing, please tell me. I’ll see if it can be integrated either at Appveyor or Travis CI (Android would be my next choice).
The use of above providers already allowed me to streamline the autoconf files and remove some of the conditional compilation code, without breaking any of the platforms.
By the way: Libosmscout since 2015 now unconditionally requires a C++11 supporting compiler. The support does not need to be 100% complete, however required features are (possibly incomplete). Currently the current version of all supported compilers (gcc, clang, Visual Studio 2015) support all required features:
- (u)intXX_t, unordered_map, unordered_set
- long long and unsigned long long
- Thread support (atomics, mutex, condition variables, thread, async)
- Chrono support
- Some C++11 specific new header for interfacing C