将CEDET ede-cpp-root-project命令放在.emacs文件之外

Jos*_*see 2 emacs cedet

我有一个有效的EDE项目,但我想在该项目的源代码树的文件中找到该命令,而不是在我的.emacs文件中.这可能吗?

我尝试过使用目录变量和emacs加载文件,但它确实有任何影响.为此,我将以下代码放在项目根目录中的.dir-locals.el中:

((nil 
 . ((ede-cpp-root-project "MyProj"
     :name "MyProj Project"
     :file "/home/jlisee/projects/myproj_code/CMakeLists.txt"
     :include-path '( "/packages" )
     :system-include-path '( "/opt/myproj/local/include" )
     :spp-table '( ("CONST" . "const") )
     ))))
Run Code Online (Sandbox Code Playgroud)

Eri*_*ric 5

项目类型ede-cpp-root适用于特别希望将项目文件保留在源树之外的人员.如果您想在源树中使用项目类型,还有其他选项.

如果您使用的是最新版本的CEDET,您可以改为启用通用项目类型,而这些类型又支持cmake(它看起来像你正在使用?)

(ede-enable-generic-projects)
Run Code Online (Sandbox Code Playgroud)

进入CMake的这个通用项目后,使用

 M-x ede-customize-project RET
Run Code Online (Sandbox Code Playgroud)

添加包括路径,宏表等.

如果您没有使用makefile,cmake或其他任何东西,您可以使用.emacs文件中的一些代码创建自己的通用项目类型.查看提及CMake的所有内容的ede-generic,并且应该非常明显地创建3件事.

我认为现有的项目类型使用CMakeLists,而不是CMakeLists.txt,所以现有的代码可能需要调整.