On 16-Aug-16 13:52, Florent Castelli wrote:
For example, Boost is used by 5 platforms: Windows, OSX, Linux, Android and iOS.
Each platform has a different CPU target (or many 32/64bit, x86/ARM).
Each platform has many compilers.
Some platforms have instrumentation options (Debug / Release, ASan, MSan…) and
really need
to be compiled properly, otherwise you’ll end up with false positives.
The matrix of builds is REALLY hard to track. Each time we update Boost, we had
to update
a lot of things.
Not a problem for Hunter.
Linux, OSX, Windows, iOS 9.3, iOS 8.2, Android, GCC, Clang, ASan,
LeakSan, ThreadSan, Static Analyzer, libstdc++, libc++, MinGW, Visual
Studio 2008-2015:
* https://travis-ci.org/ingenue/hunter/builds/140317830
* https://ci.appveyor.com/project/ingenue/hunter/build/1.0.665
This list is not even full, I guess I can add more toolchains in future
(GCC variations and C++ standards).
To test all matrix I need to push one commit to pkg.boost branch, to
upload binaries to server I need to push one commit to upload.boost
branch (upload ALL toolchains at one shot). To reuse all updates users
just need to set new URL/SHA1 of HunterGate module:
https://github.com/ruslo/hunter/releases
Overall, building boost takes 10s on our developers’ machines. The sources
aren’t changed often,
so the cost is pretty low.
What kind of hardware do they have? And what libraries you mean? It
takes about 20 seconds on my Linux machine just to unpack 80 MB of Boost
release archive. It's even worse on Windows, it takes several minutes
for some strange reason even on SSD + Core i7. Using binaries in such
cases is a huge time saver because there is no need to compile anything
and there is no a lot of junk that they put into release archive (if you
remove docs and tests 80 MB became 15 MB).
Of course building from source is not an option for such monsters like
Qt or OpenCV. Ready-to-use binaries is something critical for real life
applications. There is no way to test everything on Travis/AppVeyor
without this feature.
Ruslo
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake