[CMake] ExternalData on unmounted Windows shares?

Brad King brad.king at kitware.com
Wed Nov 13 10:26:53 EST 2013


On 11/13/2013 03:59 AM, Magnus Therning wrote:
> On Tue, Nov 12, 2013 at 5:09 PM, Brad King <brad.king at kitware.com> wrote:
>> Add to ExternalData_URL_TEMPLATES the entry
>>
>>  file:////share.host/foo/bar/%(algo)/%(hash)
> 
> That still fails on the real path I have to use in the project.  Are
> there any known issues with  hidden shares (name ending in $), or with
> paths containing spaces?
> 
> The path that fails contains both :(

I just tried network paths containing both spaces and a $ at the end
or in the middle.  It works just fine for me in either variable.

> - It's not possible to set only ExternalData_OBJECT_STORES, one has to
> set ExternalData_URL_TEMPLATES too.

Back when this module was part of another project and not ported to
CMake upstream we did not have ExternalData_OBJECT_STORES and always
used a store in the build tree.  That is why ExternalData_URL_TEMPLATES
is required to be set.  When the ExternalData_OBJECT_STORES capability
was created no one thought to lift the ExternalData_URL_TEMPLATES
requirement because the projects using the module all set it anyway.

It is easy enough to lift that restriction:

 ExternalData: Allow local stores without any URL templates
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8eb20eea

> - I'd like to not have to map the drive (other users of the project
> would then have to free up a specific drive letter) and
> ExternalData_OBJECT_STORES don't seem to handle paths of the form
> "//share.host/foo/bar".

As I report above they work just fine for me.  Please provide
a sample CMakeLists.txt file and instructions for setting up a
network share that demonstrates the failure.  Include the error
messages you expect us to see when reproducing it.

What CMake build system generator (-G) are you using?

-Brad


More information about the CMake mailing list