Как эффективно управлять исключением файлов из сборки в Eclipse CDT? - PullRequest
0 голосов
/ 31 октября 2019

У меня есть встроенный C-проект, состоящий из десятков исходного модуля и заголовков в иерархии каталогов. Проект определен для нескольких целей (управляемых с использованием конфигураций сборки), и многие модули включены в сборку только для подмножества конфигураций.

Проект представляет собой проект make-файла, построенный из командной строки, иЯ использую Eclipse IDE в основном для его статического анализа кода. Например, при поиске определения объекта он знает, какой заголовочный файл открыть, основываясь на включении этого модуля в конфигурацию сборки.

В прошлом я использовал функцию экспорта / импорта для массового-редактируйте пути включения и определения макросов для различных конфигураций.

Но я ищу способ сделать это для включения / исключения модуля. Если я щелкну правой кнопкой мыши по каталогу в дереве кодов, то у меня появится пункт меню Exclude from build..., который открывает диалоговое окно со списком конфигураций, где я могу удобно выбрать, в каких конфигурациях исключать этот каталог.

Но этот диалог отсутствует в контекстном меню определенного модуля. Таким образом, мне нужно открыть диалоговое окно «Свойства» и прокрутить все конфиги, исключая из необходимых один за другим.

Существует ли диалог, похожий на каталог для одного модуля?

Есть ли способ экспортировать эти настройки (кроме путей и макросов) в файл XML для удобства редактирования? Где Eclipse сохраняет эту информацию?

Я использую версию ARM DS-5 Eclipse для платформы Mars.2 (4.5.2)

1 Ответ

1 голос
/ 01 ноября 2019

Я вижу Exclude from build... в подменю Resource Configurations для каталогов и отдельных файлов.

Что касается того, где Eclipse хранит эту информацию: в файле .cproject, в записях, которые выглядят примерно так:

<cproject ...>
  <storageModule ...>
    <cconfiguration ...>
      ...
      <storageModule ...>
        <configuration ...>
          ...
          <sourceEntries>
            <entry excluding="<path-to-excluded-resource>" ...>
            ...
          </sourceEntries> 
          ...
...