On Tue, Mar 29, 2016 at 10:24:26 -0400, Brad King wrote:
> Might a user want to change the url used locally? If so then we
> need a way to turn off the automatic sync, though I think making
> it default is reasonable.
I suppose it is possible, but if you're modifying submodules behind
ExternalProject's back, you already have issues:
- it fails to detect updates[1] not done by ExternalProject itself, so
"edit in source tree then run `make $external_project` at the
top-level" is already a non-working workflow (submodules or no);
- if it isn't using the name of a *local* branch, when ExternalProject
runs its update step, it will leave your work behind (if it is
committed);
- if you have modifications in a submodule, the stash commands don't
work properly (they never unapply properly and I think the only
fool-proof way to fix it is something like:
git submodule foreach --recursive cmake -P do_stash_if_necessary.cmake
cmake -P update.cmake
git submodule foreach --recursive cmake -P
undo_stash_if_stashed_above.cmake).
So if we add support for skipping this step, it's probably more
reasonable to put a flag around having ExternalProject do *any* update
step (available for any non-tarball source really).
--Ben
[1]Though to do this properly, we need to add a dependency on every file
under the source tree.
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers