support CMAKE_<LANG>_... variables

#197 , solve the LANG issue first,

the PROJECT is harder, will solve it later after this pull request.
Please end each docstring with period (`.`).