[CMake] Problems with CMP0037

Rolf Eike Beer eike at sf-mail.de
Sun Nov 2 03:14:05 EST 2014


Am Sonntag, 2. November 2014, 15:55:25 schrieb Erik de Castro Lopo:
> Hi,
> 
> I'm a project maintainer. I just upgraded to CMake 3.0.2 and now I'm
> getting this:
> 
>   CMake Warning (dev) at CMakeLists.txt:284 (add_executable):
>     Policy CMP0037 is not set: Target names should not be reserved and
> should match a validity pattern.  Run "cmake --help-policy CMP0037" for
> policy details.  Use the cmake_policy command to set the policy and
> suppress this warning.
> 
>     The target name "tests/win32_test" is reserved or not valid for certain
>     CMake features, such as generator expressions, and may result in
> undefined behavior.
> 
> After some debugging, it seems that its the forward slash path separator
> that CMake is complaining about. I don't understand why the forward slash
> is not allowed as all Unix (including OSX) and Windows accept a forward
> slash.
> 
> Clues?

Because you can't create files or directories with that name, you would end up 
getting one directory "tests" and a file/directory win32_test*. And creating 
both with one API call isn't possible, so this may work if there is a 
directory "tests" before because of some other reason, but it will not 
reliably work.

Eike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://public.kitware.com/pipermail/cmake/attachments/20141102/0863ceee/attachment.sig>


More information about the CMake mailing list