Как изменения в установке() в CMake 3.21 влияют на его обычное использование?

#installation #cmake #build #idioms

Вопрос:

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

Теперь, это правда, что, возможно, было еще несколько изменений в install() командах и связанных с ними командах в период с 2017 по настоящее время, но — в примечаниях к выпуску CMake 3.21 я вижу 4 изменения в install() команде и по крайней мере одно изменение IMPORTED_TARGETS . В частности, некоторые из них касаются управления зависимостями.

Итак, как мы должны изменить наши CMakeLists.txt файлы, файлы конфигурации нашего проекта и указания разработчикам, желающим зависеть от наших проектов CMake, чтобы воспользоваться этими новыми возможностями?

Комментарии:

1. Этот вопрос приглашает написать (видео)блог о функциях, связанных с установкой CMake, представленных в версии 3.21. Но это противоречит намерению переполнения стека, которое ожидает, что вопросы будут касаться конкретной проблемы , которую нужно решить.

2. Часть видео, на которую вы ссылаетесь, рассказывает об установке библиотеки, связанной с какой-либо ИМПОРТИРОВАННОЙ библиотекой, но когда вы не хотите устанавливать эту ИМПОРТИРОВАННУЮ библиотеку вместе с проектом. Среди новых install функций я не вижу никого, кто мог бы помочь в этой установке. Например install(IMPORTED_TARGETS) , устанавливает ИМПОРТИРОВАННУЮ библиотеку вместе с проектом.

3. @Tsyvarev: Удалил ссылку.

4. @KamilCuk: Да, отредактировано.