As far as I know, the @VAR @ syntax is only used when replacing variables with the configure_file command.
Note that the configure_file command allows an additional @ONLY option. Using it, you can indicate that only @VAR @ is replaced, but $ {VAR} is saved.
As an example, this can be useful when creating, for example, a cmake file that will later be used with CMake. For instance. when creating a project, @VAR @ will be replaced when using configure_file. After you have distributed your project, and someone else is using the generated UseProject.cmake file, the $ {VAR} $ entries will be replaced.
source share