[Tarantool-patches] [PATCH] cmake: set CMP0037 policy to NEW by default
Olga Arkhangelskaia
arkholga at tarantool.org
Wed May 27 13:15:35 MSK 2020
Hi Igor!
Thanks for the review:
I have changed the order and left a small comment, so the diff looks like:
-if(CMAKE_VERSION VERSION_LESS 3.11)
- if(POLICY CMP0037)
+if (POLICY CMP0037)
+ # https://cmake.org/cmake/help/v3.11/release/3.11.html#other-changes
+ # cmake below 3.11 reserves name test. Use old politics.
+ if (CMAKE_VERSION VERSION_LESS 3.11)
cmake_policy(SET CMP0037 OLD)
- endif(POLICY CMP0037)
-else()
- if(POLICY CMP0037)
+ else()
+ # Starting from cmake 3.11 name test reserved in special cases
and can
+ # be used as target name.
cmake_policy(SET CMP0037 NEW)
- endif(POLICY CMP0037)
+ endif()
endif()
26.05.2020 11:59, Igor Munkin пишет:
> Olya,
>
> Thanks for the patch! Sorry for nitpicking, but I still have several
> comments.
>
> On 25.05.20, Olga Arkhangelskaia wrote:
>> Igor, I have fixed nits in commit message. Sorry for that. I have lost
>>
>> somewhere line from vimrc with spellchecker =(
>>
>> Moreover, I left warning and old behaviour for cmake 3.10 and less.
>>
>> See diff below.
>>
> <snipped>
>
>> New commit message:
>>
>> + cmake: set CMP0037 policy to NEW
>> +
>> + To fix deprecation warning, CMP0037 policy was changed to NEW for
>> cmake
>> + 3.11 and above.
>> +
>> + CMP0037 old behavior (cmake 2.8.12) allowed target names such as test.
>> + In cmake 3.10 and below names test, help and etc. were reserved.
>> +
>> + Starting from cmake 3.11 these names are only reserved when the
>> corresponding
>> + feature is enabled (e.g. by including the CTest or CPack modules).
>> + Tarantool does not use CTest so the name test can be used.
>> +
>> + Closes: #3587
> I guess you missed this one:
> | > > Please, don't use ':' in gh tags. It just doesn't respect our commit
> | > > message style.
> | > >
Removed :
>> Code diff:
>>
>> -if(POLICY CMP0037)
>> - cmake_policy(SET CMP0037 NEW)
>> -endif(POLICY CMP0037)
> It looks better to reorder conditions: make policy test an outer one
> and check CMake version in scope of it.
>
>> +if(CMAKE_VERSION VERSION_LESS 3.11)
> Minor: Strictly saying this policy should be used for versions starting
> from 3.0, when the policy was introduced, to 3.11, when CMake team
> realized that unconditional reserving for popular target names is
> insane. At the same time I checked your last patch on Centos 7 and saw
> no warning in the output. So I guess you can just leave the
> corresponding comment or feel free to ignore this remark.
>
>> + if(POLICY CMP0037)
>> + cmake_policy(SET CMP0037 OLD)
>> + endif(POLICY CMP0037)
>> +else()
>> + if(POLICY CMP0037)
>> + cmake_policy(SET CMP0037 NEW)
>> + endif(POLICY CMP0037)
>> +endif()
>>
> Otherwise, the changes LGTM, thanks! Sergey, please proceed with the
> patch.
>
> <snipped>
>
More information about the Tarantool-patches
mailing list