let b:did_indent = 1
setlocal indentexpr=CMakeGetIndent(v:lnum)
-setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
+setlocal indentkeys+=0=~ENDIF(,0=~ENDFOREACH(,0=~ENDMACRO(,0=~ELSE(,0=~ELSEIF(,0=~ENDWHILE(
" Only define the function once.
if exists("*CMakeGetIndent")
\ '\(' . cmake_regex_comment . '\)\?$'
let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\|FUNCTION\)\s*('
- let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*('
+ let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\|ENDFUNCTION\)\s*(' .
+ \ or . ')\s*$'
" Add
if previous_line =~? cmake_indent_comment_line " Handle comments