-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57052/
-----------------------------------------------------------

Review request for mesos, Alex Clemmer, Joseph Wu, and Michael Park.


Bugs: MESOS-7172
    https://issues.apache.org/jira/browse/MESOS-7172


Repository: mesos


Description
-------

Commit c7fc1377b introduced a bug that prevented any incremental
recompilation. By defining the `BUILD_TIME` in `MESOS_CPPFLAGS`,
every build was seen as having a root dependency (the flags)
changed, causing a rebuild of every single file (including
dependencies).

This patch introduces a CMake `configure_file` directive which
takes in `config.hpp.in` and emits `config.hpp` with the
`BUILD_TIME`, `BUILD_DATE`, and `BUILD_USER` variables defined.
It also sets `HAVE_CONFIG_H` which `build.cpp` uses to `#include`
the configuration file. The result is that the date, time, and user
are set at the point of configuration (invocation of CMake) instead
of at build, thus allowing for incremental rebuilds.

As `config.hpp` is auto-generated by the CMake configuration,
it is ignored by Git.


Diffs
-----

  cmake/CompilationConfigure.cmake ed727e6a679e718f88f158faba9fecc3061ac700 
  src/common/build.cpp 090b59fb22bfc00516d65f501f8f18cd85a5b4cd 
  src/common/config.hpp.in PRE-CREATION 
  support/gitignore 90b6697d19a5e0a68805b23b587b362731a1df25 

Diff: https://reviews.apache.org/r/57052/diff/


Testing
-------

cmake; make && make check on Linux
cmake; VS build stout-tests and mesos-tests, then repeat and see no compilation 
take place a second time. Also support\windows-build.bat twice.


Thanks,

Andrew Schwartzmeyer

Reply via email to