[cmake-developers] [Patch 1/5] Improved WIX support

Nils Gladitz nilsgladitz at gmail.com
Thu Jul 21 02:55:43 EDT 2016


On 07/20/2016 03:58 PM, Stuermer, Michael SP/HZA-ZSEP wrote:

> Using the patchfile support I managed to implement the service installation issue I had, so the unnecessary features from the last patch are removed now.
>
> I tested all patches separately and hope they work now.
>
> looking forward for feedback,
>

To start with I don't think I really like the first patch as it is.

We should either require that install file locations are canonical 
(which is what I went for when I initially implemented them; I think I 
would still prefer it that way),
or perform more complete and consistent canonicalization. e.g.

- The implementation as-is only works with cmake's internal path 
separation (forward slash).
     Given the canonical path "foo/bar" the path "foo\bar" does not 
currently work. So neither should a backslash work in a prefix e.g. 
".\foo/bar".
     I'd also like to think of these paths as portable (should any other 
CPack generator choose to implement install properties as well) which is 
why I think we should not support (canonicalize) windows path separators 
anywhere in the path.

- Handling "." only as a singular prefix is inconsistent.
     If we do implement this then ".." should also be supported and 
canonicalization should work anywhere in the path.
     e.g. given the canonical path "foo/bar/baz" these should refer to 
the same path:
         - "./foo/bar/baz"
         - "././foo/bar/baz"
         - "foo/./bar/baz"
         - "foo/../foo/bar/baz"
         etc.

Nils


More information about the cmake-developers mailing list