----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/66711/#review201515 -----------------------------------------------------------
Ship it! I'm a bit surprised by the behaviour you describe, i.e. cmake downloading and configuring third-party dependencies that are not going to be used. Am I correct in thinking that for a proper fix, we should wrap *every* third-party dependency into an analogous if-block? - Benno Evers On April 19, 2018, 2:12 a.m., Andrew Schwartzmeyer wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/66711/ > ----------------------------------------------------------- > > (Updated April 19, 2018, 2:12 a.m.) > > > Review request for mesos, Alexander Rukletsov, Benjamin Bannier, Benno Evers, > and Joseph Wu. > > > Repository: mesos > > > Description > ------- > > The `ExternalProjectAdd` CMake module defines > download/update/patch/configure steps unconditionally as default > targets. This meant that `cmake --build .` on Windows attempted to run > the `configure` script of jemalloc, which obviously fails. > > By wrapping the 3rdparty import with `ENABLE_JEMALLOC_ALLOCATOR` we > fix this bug on Windows, and avoid unnecessary build steps on Linux. > > > Diffs > ----- > > 3rdparty/CMakeLists.txt 70affa3550d91b48b97417d857a0eeacd60f9b2c > > > Diff: https://reviews.apache.org/r/66711/diff/1/ > > > Testing > ------- > > `ninja` on Windows (no target arguments); now the `jemalloc` configuration > step is entirely skipped. Previously it resulted in: > > ``` > FAILED: > 3rdparty/jemalloc-5.0.1/src/jemalloc-5.0.1-stamp/jemalloc-5.0.1-configure > cmd.exe /C "cd /D > C:\Users\andschwa\src\mesos\build\master\3rdparty\jemalloc-5.0.1\src\jemalloc-5.0.1-build > && > C:\Users\andschwa\src\mesos\build\master\3rdparty\jemalloc-5.0.1\src\jemalloc-5.0.1\configure > --enable-stats --enable-prof --with-malloc-conf=prof:true,prof_active:false > && "C:\Program Files\CMake\bin\cmake.exe" -E touch > C:/Users/andschwa/src/mesos/build/master/3rdparty/jemalloc-5.0.1/src/jemalloc-5.0.1-stamp/jemalloc-5.0.1-configure" > ``` > > Please correct me if I'm wrong about this. > > > Thanks, > > Andrew Schwartzmeyer > >