Всегда ли CMake оценивает правила установки даже для современных целей? - PullRequest
2 голосов
/ 23 сентября 2019

Мы используем CMake как для сборки, так и для установки.В случае, если ни одна цель не устарела, то есть не требуется выполнять какие-либо шаги сборки, установка все равно занимает значительное время.

Это нормальное поведение для CMake?CMake все еще оценивает правило установки для цели, которая не была перестроена?В идеале шаг установки должен завершиться практически мгновенно, если ни одна из целей не устарела.

Для полноты, пример правила install() в нашем случае будет иметь вид:

add_library(foo SHARED
  ${FOO_SOURCES}
)
target_link_libraries(foo
  PUBLIC bar
)    
install(
  TARGETS foo
)

Вместо использования install() правил я думал о добавлении пользовательских команд для выполнения «установки», которые зависят от отдельных целей, чтобы гарантировать, что установка не будет выполняться, если ничего не было перестроено.Это хороший подход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...