Разница между статическими и разделяемыми библиотеками в CMake заключается в их характере и способе работы. 13
Статические библиотеки — это архивы объектных файлов, которые связываются с исполняемыми файлами и другими библиотеками во время компиляции. 13 Каждый исполняемый файл, связанный со статической библиотекой, получает свою копию символов, а сама статическая библиотека не нужна во время выполнения. 1
Разделяемые библиотеки — это двоичные файлы, которые создаются путём связывания объектных файлов вместе. 1 К разделяемым библиотекам могут обращаться в качестве зависимостей исполняемые файлы, другие разделяемые библиотеки и модульные библиотеки. 1 Во время выполнения программы динамический загрузчик ищет на диске упомянутые разделяемые библиотеки и загружает их символы. 1
Таким образом, статические библиотеки фокусируются на компиляции и связывании, в то время как разделяемые библиотеки ориентированы на работу во время выполнения программы.