What are peoples' thought on requiring cmake when building from source?
Currently we have to maintain two independent build files (CMakeLists and
Makefile) which makes it more difficult to develop (each are 600+ lines). Also,
our current build system (in Makefile) requires that 3rdparty dependencies have
binaries present (or a Makefile to generate binaries) in the repo, which is not
always the case.
Generating a makefile with cmake will make our Makefile very simple like
PyTorch's Makefile (20 lines of code). Also, not all 3rdparty dependencies have
binaries or Makefiles. For 3rdparty/mkldnn we end up calling cmake to generate
binaries (this does not violate our 'no cmake dependency' as USE_MKLDNN is OFF
by default). If we encounter any library in the future that requires us to
generate artifacts with cmake, it would be better to make the switch now.
Lastly, we already require cmake as a dependency for windows' developers so this
would only affect linux / mac developers who do not have cmake already.
I currently have a pending PR that depends on this change. The library does not
have a Makefile or binaries present. Unlike mkldnn, we would want this library
included by default so I cannot generate artifacts with cmake. The alternative
would be to strip out only the relevant parts of the code we need from the
library. I did this in a previous version of my PR  but it is incredible messy.
Please let me know your thoughts.
Best,
Alex

Reply via email to