This is the PR mentioned in issue #41 — an extension of PR BVLC/caffe#4609 with merge conflicts resolved and further work done specific to this buildsystem, taking the path of moving #cmakedefines into CMakeLists code.
The PR contents various improvements to the CMake buildsystem directed towards "modern" packaging with CMake IMPORTED targets and config-mode find_package().
There are several bugfixes and a slight refactoring of the buildsystem which makes Caffe properly export its transitive dependencies ("usage requirements") to the library users.
Open questions:
most of the dependencies are made PUBLIC (i. e. the client programs will link to them). This mimics the previous behavior, but it might be worth to revise configuration. E. g. the BLAS libraries — do we really need to make clients link to them?
Tests done:
building as a static and shared library for GNU/Linux and Android, linking to a sample project.
This is the PR mentioned in issue #41 — an extension of PR BVLC/caffe#4609 with merge conflicts resolved and further work done specific to this buildsystem, taking the path of moving #cmakedefines into CMakeLists code.
The PR contents various improvements to the CMake buildsystem directed towards "modern" packaging with CMake IMPORTED targets and config-mode
find_package()
.There are several bugfixes and a slight refactoring of the buildsystem which makes Caffe properly export its transitive dependencies ("usage requirements") to the library users.
Open questions:
Tests done: