Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case.
Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style.
This generic solution prevent cmake from having an error .svn folders when the source folder is under subversion.