EDE projects can store and manager project local variables. The variables are stored in the project, and will be restored when a project reloads.
Projects which are not stored on disk WILL NOT restore your project local variables later.
You can use Customize Features to of the project to edit the project local variables. They are under the 'Settings' group as “Project Local Variables”.
You can also use M-x ede-set to set a new variable local in the mini buffer.
In multi-level projects such as Automake and Make generating projects, project local variables are installed from both the TOP most project, and the local directory's project. In that way, you can have some variables across your whole project, and some specific to a subdirectory.
You can use project local variables to set any Emacs variable so that buffers belonging to different projects can have different settings.
NOTE: When you use project-local variables with ede-cpp-root, the format is an association list. For example:
(ede-cpp-root-project "SOMENAME" :file "/dir/to/some/file" :local-variables '((grep-command . "grep -nHi -e ") (compile-command . "make -f MyCustomMakefile all")))
The same is true when you use project-local variables with ede-java-root. For example:
(ede-java-root-project "SOMENAME" :file "/dir/to/some/file" :local-variables '((grep-command . "grep -nHi -e ") (compile-command . "ant")))