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

Reply via email to