David Cole wrote:

> On Fri, Aug 10, 2012 at 10:57 AM, Brad King
> <[email protected]> wrote:
>>> Do you also have a script to clear the contents of endforeach(),
>>> endif(), endmacro(), endfunction()? Or do you not want to do that?
>>
>> That's a bit more risky because sometimes they span multiple lines.
>> I'd rather not tackle it now.
>>

I looked through the git grep output for the end commands and saw none in 
the Modules dir which spanned multiple lines (there's a small handful in 
Tests/BuildDepends/CMakeLists.txt, but that's it). 

I then ran the following script to strip them:

git grep -l "endif([^\)]\+)" Modules | xargs sed -i 's|endif(.*|endif()|'
git grep -l "endforeach([^\)]\+)" Modules | xargs sed -i 's|endforeach(.*|
endforeach()|'
git grep -l "endfunction([^\)]\+)" Modules | xargs sed -i 's|endfunction(.*|
endfunction()|'
git grep -l "endmacro([^\)]\+)" Modules | xargs sed -i 's|endmacro(.*|
endmacro()|'
git grep -l "endwhile([^\)]\+)" Modules | xargs sed -i 's|endwhile(.*|
endwhile()|'

The script is a bit naive, but on manual review I saw no mistakes. This one 
doesn't catch the cases which have whitespace between the 'endif' and the 
'(', but I also ran the script catching those without finding a problem on 
manual review. The question of whether that style should be normalized too, 
ie should 

if (Foo)
endif ()

be changed to 

if(Foo)
endif()

now. (should be an easy script).

> But after the sweeping changes, I would certainly welcome clean up
> commits that clear the end*() arguments. "Clean up" topics are always
> welcome. We won't merge them in during the middle of "release
> candidates" -- but we'll do it immediately after a release for sure.

Sounds good, but such commits have to go in immediately when they are made 
or they will go stale and have to be rebased/regenerated/re-reviewed. So 
it's kind of hard to coordinate.

Thanks,

Steve.


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to