Размещение команд CEDET ede-cpp-root-project вне файла .emacs

У меня есть рабочий проект 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") )
     ))))

person Joseph Lisee    schedule 14.07.2011    source источник


Ответы (1)


Тип проекта ede-cpp-root предназначен для людей, которые хотят, чтобы файл проекта не попадал в исходное дерево. Если вам нужен тип проекта в исходном дереве, есть и другие варианты.

Если вы используете последнюю версию CEDET, вы можете вместо этого включить общие типы проектов, которые, в свою очередь, поддерживают cmake (который, похоже, вы используете?)

(ede-enable-generic-projects)

В этом универсальном проекте для CMake используйте

 M-x ede-customize-project RET

добавить пути, таблицы макросов и т.п.

Если вы не используете make-файлы, cmake или что-то еще, вы можете создать свой собственный общий тип проекта с небольшим количеством кода в файле .emacs. Посмотрите в ede-generic все, что упоминает CMake, и должно быть довольно очевидно, какие 3 вещи нужно создать.

Я думаю, что существующий тип проекта использует CMakeLists, а не CMakeLists.txt, поэтому, возможно, существующий код нуждается в настройке.

person Eric    schedule 21.07.2011
comment
Я добавляю (ede-enable-generic-projects) в конец .emacs. Затем выполните M-x ede-customize-project RET, ошибка говорит: eieio-oref: Аргумент неправильного типа: (или eieio-object-p class-p), nil. Как это исправить? - person shijie xu; 18.06.2014