support CMAKE_<LANG>_... variables

#197 , solve the LANG issue first,

the PROJECT is harder, will solve it later after this pull request.
Please avoid putting closing parens on separate lines (occasionally it's okay, but not that often).