[CLion] постоянно делает ребилд, даже если ничего не поменялось
От: SaZ  
Дата: 14.02.22 11:54
Оценка:
Доброго дня,

Есть CMake проект, который использует буст и некоторые другие либы, а так же cpack. Всё подключается через vcpkg. Платформа — только убунта.
Каждый раз при запуске приложения, отладки и т.п. происходит полная пересборка проекта. Хотя если собирать проект вручную через командную строку — то пересборки не происходит. К сожалению, пока не получается собрать минимальный пример, который воспроизводил бы проблему.

Возможно кто-то даст хинт, в какую сторону смотреть, чтобы побороть проблему?
Re: [CLion] постоянно делает ребилд, даже если ничего не поменялось
От: anastasiak2512  
Дата: 14.02.22 17:17
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Доброго дня,


SaZ>Есть CMake проект, который использует буст и некоторые другие либы, а так же cpack. Всё подключается через vcpkg. Платформа — только убунта.

SaZ>Каждый раз при запуске приложения, отладки и т.п. происходит полная пересборка проекта. Хотя если собирать проект вручную через командную строку — то пересборки не происходит. К сожалению, пока не получается собрать минимальный пример, который воспроизводил бы проблему.

SaZ>Возможно кто-то даст хинт, в какую сторону смотреть, чтобы побороть проблему?


А что вы имеете в виду под полной пересборкой проекта?
Для Run/Debug конфигураций в CLion по умолчанию прописан шаг Build как Before Task. Его можно удалить в настройках конфигурации. Но вообще, конечно, этот шаг проходит мгновенно, если перестраивать ничего не надо, и по сути ничего не делает.
Re[2]: [CLion] постоянно делает ребилд, даже если ничего не
От: SaZ  
Дата: 15.02.22 12:37
Оценка:
Здравствуйте, anastasiak2512, Вы писали:

A>А что вы имеете в виду под полной пересборкой проекта?

A>Для Run/Debug конфигураций в CLion по умолчанию прописан шаг Build как Before Task. Его можно удалить в настройках конфигурации. Но вообще, конечно, этот шаг проходит мгновенно, если перестраивать ничего не надо, и по сути ничего не делает.

В том то и дело, при запуске "cmake --build" пересборка происходит практически мгновенно, потому что ничего не поменялось. А при нажатии Ctrl+F9 (build) в CLion происходит перекомпиляция всех файлов в проекте.

Update.

В системе у меня установлен cmake 3.16 — с ним всё в порядке. В CLion идёт 3.21 — он триггерит перекомпиляцию.
Регрессия?
Отредактировано 15.02.2022 14:13 SaZ . Предыдущая версия . Еще …
Отредактировано 15.02.2022 14:11 SaZ . Предыдущая версия .
Re: [CLion] постоянно делает ребилд, даже если ничего не поменялось
От: SaZ  
Дата: 16.02.22 12:07
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Доброго дня,


SaZ>Есть CMake проект, который использует буст и некоторые другие либы, а так же cpack. Всё подключается через vcpkg. Платформа — только убунта.

SaZ>Каждый раз при запуске приложения, отладки и т.п. происходит полная пересборка проекта. Хотя если собирать проект вручную через командную строку — то пересборки не происходит. К сожалению, пока не получается собрать минимальный пример, который воспроизводил бы проблему.

SaZ>Возможно кто-то даст хинт, в какую сторону смотреть, чтобы побороть проблему?


В общем, я так и не понял в чём дело... Удалил из убунты cmake 3.16, поставил последний. Переключил CLion на использование встроенного и всё заработало. Не могу понять в чём было дело.
Re[3]: [CLion] постоянно делает ребилд, даже если ничего не
От: anastasiak2512  
Дата: 16.02.22 12:14
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Здравствуйте, anastasiak2512, Вы писали:


A>>А что вы имеете в виду под полной пересборкой проекта?

A>>Для Run/Debug конфигураций в CLion по умолчанию прописан шаг Build как Before Task. Его можно удалить в настройках конфигурации. Но вообще, конечно, этот шаг проходит мгновенно, если перестраивать ничего не надо, и по сути ничего не делает.

SaZ>В том то и дело, при запуске "cmake --build" пересборка происходит практически мгновенно, потому что ничего не поменялось. А при нажатии Ctrl+F9 (build) в CLion происходит перекомпиляция всех файлов в проекте.


SaZ>Update.


SaZ>В системе у меня установлен cmake 3.16 — с ним всё в порядке. В CLion идёт 3.21 — он триггерит перекомпиляцию.

SaZ>Регрессия?

Ну, если только в CMake. Можно попробовать CMake из CLion-а. Наверное при смене версии CMake, он перезапустит сборку, кажется, это логично. Но CLion тут точно не при чем — он просто команду CMake запускает. Ее можно всегда просто руками проверить в терминале.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.