[CMake] Prevent ExternalProject from updating git submodules

David Cole DLRdave at aol.com
Tue Oct 25 09:12:36 EDT 2016


Sounds like you should consider customizing the git clone with DOWNLOAD_COMMAND. You can do anything you want as a customization...

HTH,
David


> On Oct 24, 2016, at 11:35 PM, Timothy Rae <timothy.rae at sbibits.com> wrote:
> 
> Thanks for the tip, but I'd rather it didn't fetch the documentation submodule at all, as this unnecessarily slows down the build.
> 
>> On Tue, Oct 25, 2016 at 12:29 PM, Hendrik Sattler <post at hendrik-sattler.de> wrote:
>> Hi,
>> 
>> you can tell git where your copy of tree remote url is. This is site-specific and does not change the repository:
>> git config remote."$origirl".url "$newurl"
>> 
>> HS
>> 
>> 
>> Am 25. Oktober 2016 03:52:12 MESZ, schrieb Tim Rae <timothy.rae at sbibits.com>:
>> >Hi all,
>> >
>> >I'm using ExternalProject_Add to add the popular C++ library range-v3
>> >to
>> >one of our projects. However, since the build server only has local
>> >intranet access, and therefore can't access the main github repository,
>> >
>> >we have put a clone of that repo on our local gitlab:
>> >
>> >ExternalProject_Add(range-v3
>> >     PREFIX ${PREFIX_DIR}
>> >     GIT_REPOSITORY ${LOCAL_GITLAB_URI}
>> >)
>> >
>> >The problem is that range-v3 has a documentation submodule that points
>> >to github, so `git clone ${LOCAL_GITLAB_URI} --recursive` would fail
>> >when github is inaccessible, whereas git clone works fine without the
>> >recursive flag.
>> >
>> >I found a previous message from Tim Gallagher on the mailing list
>> >reporting the same problem, but it looks like the issue was never
>> >addressed upstream.
>> >
>> >https://cmake.org/pipermail/cmake/2015-March/060100.html
>> >
>> >Unfortunately, specifying GIT_SUBMODULES "" will add all submodules, so
>> >
>> >it doesn't appear that variable will help to solve the issue. I would
>> >suggest either having a special value like "__NONE__", or having a new
>> >boolean variable like INIT_GIT_SUBMODULES; either of which can be used
>> >to disable the automatic initialization of submodules entirely.
>> >
>> >You could also change the default to NOT pull in submodules. This would
>> >
>> >be much better IMHO, as the current behavior is unintuitive. Most
>> >developers (e.g. myself until yesterday) don't even know what a
>> >submodule is, and are only familiar with using git clone, as opposed to
>> >
>> >git clone --recursive. Obviously this would be a breaking change
>> >though,
>> >so I understand that you probably don't want to go with this option.
>> >
>> >For now I have "solved" the problem by adding a new commit to our
>> >range-v3 fork removing all git submodules, however this makes it more
>> >difficult to get the upstream changes in, so I highly recommend adding
>> >an option to disable the automatic initialization of git submodules.
>> >
>> >Best regards,
>> >Tim
>> >
>> >--
>> >*This correspondence (including any attachments) is for the intended
>> >recipient(s) only. It may contain confidential or privileged
>> >information or
>> >both. No confidentiality or privilege is waived or lost by any
>> >mis-transmission. If you receive this correspondence by mistake, please
>> >
>> >contact the sender immediately, delete this correspondence (and all
>> >attachments) and destroy any hard copies. You must not use, disclose,
>> >copy,
>> >distribute or rely on any part of this correspondence (including any
>> >attachments) if you are not the intended recipient(s). 本
>> >メッセージに記載および添付されている情報 (以 下、総称して「本情報」といいます。)は、本来の受信者による使用のみを 意
>> >図しています。誤送信等により
>> >本 情報を取得された場合でも、本情報に係る 秘 密、または法律上の秘匿特権が失われるものではありません。本電子メールを 受
>> >取られた方が、本来の受
>> >信者ではない場合には、本情報及びそのコピー すべ てを削除・破棄し、本電子メールが誤って届い た旨を発信者宛てにご通知下さい ま
>> >すようお願いしま
>> >す。本情報の閲覧、発信または本情報に基づく いかなる行 為も明確に禁止されていることをご了承くださ い。*
>> >--
>> >
>> >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
>> 
>> --
>> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
>> 
> 
> 
> This correspondence (including any attachments) is for the intended recipient(s) only. It may contain confidential or privileged information or both. No confidentiality or privilege is waived or lost by any mis-transmission. If you receive this correspondence by mistake, please contact the sender immediately, delete this correspondence (and all attachments) and destroy any hard copies. You must not use, disclose, copy, distribute or rely on any part of this correspondence (including any attachments) if you are not the intended recipient(s). 本 メッセージに記載および添付されている情報 (以 下、総称して「本情報」といいます。)は、本来の受信者による使用のみを 意 図しています。誤送信等により 本 情報を取得された場合でも、本情報に係る 秘 密、または法律上の秘匿特権が失われるものではありません。本電子メールを 受 取られた方が、本来の受 信者ではない場合には、本情報及びそのコピー すべ てを削除・破棄し、本電子メールが誤って届い た旨を発信者宛てにご通知下さい ま すようお願いしま す。本情報の閲覧、発信または本情報に基づく いかなる行 為も明確に禁止されていることをご了承くださ い。
> -- 
> 
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20161025/07411d92/attachment-0001.html>


More information about the CMake mailing list