Commit Graph

7 Commits

Author SHA1 Message Date
Pawel Kurdybacha
ae15964907 Problem: Dependency on googletest framework
Currently cppzmq as relatively simple and header only library depends on rather
complex unit test framework googletest.
Current issues:
- Googletest requires downloading and building it every time on travis
as cache support is limited there
- Googletest build is signifficant with comparison to cppzmq unittests
total runtime

Solution: Port existing tests to Catch - header only C++ framework and
gain ~20% build speed up on travis.

Why Catch?
It is well know C++ header only testing framework. It works well, it is
being kept up to date and maintainers seem to pay attention to
community's comments and issues.
We can not use Catch2 currently as we still support pre-C++11 compilers.
2018-10-17 15:22:07 +01:00
Pawel Kurdybacha
9d058b3a5e Problem: draft not explicitly enabled on Windows CI 2018-05-23 19:15:43 +01:00
Pawel Kurdybacha
c3d11f32fe Problem: Missing -D flag causes build failure. 2018-04-22 18:09:10 +01:00
Pawel Kurdybacha
85d5667d73 Problem: Appveyor caches way too much.
Currently appveyor caches whole libzmq directory with all sources and
build artifacts (349MB uncompressed).

Solution: install build artifacts to separate `libzmq` directory and
cache only this (~52.70MB uncompressed).
That way we can save some space on shared cache volume that is 1GB
(compressed data) now.
2018-04-22 17:57:55 +01:00
Pawel Kurdybacha
1baec268e6 Problem: Appveyor Windows build does not cache googletest
Solution: add googletest build directory to cache
2018-04-21 21:58:47 +01:00
Pawel Kurdybacha
82a7f76594 Problem: Appveyor build is slow. (#212)
* Problem: Appveyor Windows build is slow

Solution: use Appveyor caching for libzmq dependency
2018-04-20 11:44:21 +01:00
Pawel Kurdybacha
fdc145a09e Problem: Windows build broken because of multiple issues (#204)
* Problem: Windows build broken because of multiple issues

Windows issues:
* missing includes files
  Solution: added missing <memory> and <unordered_map>
  Here <map> was replaced with <unordered_map> as there is no need for
  sorted map.
* googletest fails because deprecation warning causing errors.
  Solution: D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING option added.
* googletest fails because by default, new Visual Studio projects
  link the C runtimes dynamically but Google Test links them statically.
  Solution: gtest_force_shared_crt=ON option added.

Besides that adding appveyor.yml configuration to add Windows build to
CI in order to prevent accidental Windows build breakage.
For now only Debug configuration as Release requires more time to figure
out.

* Problem: Windows build takes too long

Solution: disabling tests and perf tools

* Problem: Windows unit_tests executable not finding lizmq dll.

Solution: copy libzmq dll to build bin directory.

* Problem: Windows build fails because wrong test path provided
2018-04-17 09:29:47 +01:00