[cmake-developers] string SUBSTRING TRUNCATE mode
Domen Vrankar
domen.vrankar at gmail.com
Fri Nov 14 02:26:15 EST 2014
>> > This should be a good addition, no?
>> >
>> > diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
>> > index 56d9b66..66717ef 100644
>> > --- a/Modules/CPackRPM.cmake
>> > +++ b/Modules/CPackRPM.cmake
>> > @@ -683,9 +683,7 @@ foreach(_RPM_SPEC_HEADER URL REQUIRES SUGGESTS
>> > PROVIDES OBSOLETES PREFIX CONFLIC>
>> > # Transform NAME --> Name e.g. PROVIDES --> Provides
>> > # The Upper-case first letter and lowercase tail is the
>> > # appropriate value required in the final RPM spec file.
>> >
>> > - string(LENGTH ${_RPM_SPEC_HEADER} _PACKAGE_HEADER_STRLENGTH)
>> > - math(EXPR _PACKAGE_HEADER_STRLENGTH "${_PACKAGE_HEADER_STRLENGTH} -
>> > 1") - string(SUBSTRING ${_RPM_SPEC_HEADER} 1
>> > ${_PACKAGE_HEADER_STRLENGTH} _PACKAGE_HEADER_TAIL) + string(SUBSTRING
>> > ${_RPM_SPEC_HEADER} 1 -1 _PACKAGE_HEADER_TAIL)>
>> > string(TOLOWER "${_PACKAGE_HEADER_TAIL}" _PACKAGE_HEADER_TAIL)
>> > string(SUBSTRING ${_RPM_SPEC_HEADER} 0 1 _PACKAGE_HEADER_NAME)
>> > set(_PACKAGE_HEADER_NAME
>> > "${_PACKAGE_HEADER_NAME}${_PACKAGE_HEADER_TAIL}")
You're right. Can you provide a separate patch as it is not related to
the new feature?
> This one is actually independent, as the -1 syntax was added by me years back.
> And AFAICT this is the only call site inside CMake itself that benefits from
> any of the advanced modes of SUBSTRING, there are very few call sites anyway.
I'm currently writing a patch for CPackRPM.cmake that will use
SUBSTRING a bit more and the new patch already uses -1 syntax and also
requires the new patch with which I'll be able to remove range checks
with if statements on some locations.
Domen
More information about the cmake-developers
mailing list