LINUX.ORG.RU

Как не собирать повторно зависимость при сборке проекта в cmake?

 


0

2

Есть либа и проект, который ее использует. Я могу добавить ее в сборку через сабдиректорию. Но проблема в том, что когда я вношу изменения в проект cmake по новой проходится по либе, в которой соответственно изменений никаких нет. Как мне сделать так, что бы cmake просто собирал проект и просто прилинковывал либу к проекту? По факту мне нужно просто проверить существование либы. Я попробовал так: if(NOT EXIST path/to/lib.a) //добавление либы через саблиректорию Он видит существование файла, но один фиг время не сокращается да и способ топорный. Например когда я добавляю какую нибудь либу через find_package он же ее не пересобирает каждый раз и сборка проекта проходит быстро.



Последнее исправление: Mars36 (всего исправлений: 3)

Наверное тебе нужен conan.io

PRN
()

Вернитесь к божественным автотулзам, заблудшие дети, и да пребудет с вами благодать свободного программного обеспечения!

Harald ★★★★★
()

А чем собственно проблема? Есть несколько групп исходников (проект и библиотека), система сборки проверяет что изменилось из исходников и что нужно пересобрать. Если изменений в исходниках (и ее сборочных скриптах, флагах компиляции и т.д.) либы нет, то пересобираться она не будет. Или проверка на возможные изменения сама по себе долгая? Сколько это в секундах?

dvetutnev
()
Ответ на: комментарий от Harald

благодать свободного программного обеспечения

У CMake вполне себе опенсорсная лицензия.

dvetutnev
()
Ответ на: комментарий от anonymous

Думаю стоило уточнить, что либа экспортируется, она сторонняя. Ее нужно собрать только один раз и дальше прилинковывать к проекту. И ничего больше не нужно с ней делать. После изменения даже в одном файле в проекте cmake начинает проверять файлы либы и это очень долгий процесс, т.к. либа очень большая. Я пытаюсь найти способ как ее собрать только один раз и больше ее не трогать. Конечно можно было бы просто взять и собирать ее руками отдельно, но по «заданию» либу нужно таскать с собой(экспортировать через сабмодули гита либо через external project) и автоматом ее собирать, если она не собрана.

Mars36
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.