Devido a recursos de segurança introduzidos no Windows Vista ( UAC ), qualquer programa não-administrador que tente gravar em locais protegidos tais como "Arquivos de Programas" receberão suas gravações capturadas e redirecionadas para um local alternativo "amigável".
O programa que fez o arquivo poderá ver o arquivo, mas a maioria dos outros programas não.
Estados da Wikipédia (e eu destaquei a seção relevante):
Applications written with the assumption that the user will be running with administrator privileges experienced problems in earlier versions of Windows when run from limited user accounts, often because they attempted to write to machine-wide or system directories (such as Program Files) or registry keys (notably HKLM). UAC attempts to alleviate this using File and Registry Virtualization, which redirects writes (and subsequent reads) to a per-user location within the user’s profile. For example, if an application attempts to write to “C:\program files\appname\settings.ini” and the user doesn’t have permissions to write to that directory, the write will get redirected to “C:\Users\username\AppData\Local\VirtualStore\Program Files\appname\settings.ini”.
Então teoricamente seu arquivo alterado está sendo gravado em C:\Users\YourUserName\AppData\Local\VirtualStore\Program Files (x86)\CMake 2.8.7\share\cmake-2.8\Modules
A única maneira de contornar essa restrição é completamente desabilitar o UAC , o que não é recomendado por motivos de segurança.
A melhor solução é que você deve ter o cmake em seu caminho e estar usando um local não protegido, como em algum lugar dentro do seu perfil de usuário.