Навіщо взагалі їх збирати?
До прикладу, візьмемо відому графічну бібліотеку SFML. Вона поширено використовується інді-розробниками ігор та добре підходить для новачків.
Якщо ми перейдемо на офіційний сайт, то побачимо вже готові варіанти бібліотеки.
Як бачимо, збірка для Visual Studio 17 2022 відсутня. Часто розробники бібліотек не встигають збирати їх під наші потреби. Тому зробимо це самі.
Що для цього потрібно?
Насамперед, нам потрібна IDE та компілятор С++. Не має значення який саме, але в моєму випадку це Visual Studio 17 2022.
Спершу, треба завантажити й встановити сам CMAKE.
Потім потрібно завантажити сирцевий код SFML (або іншої бібліотеки). Найчастіше його публікують на github сторінці.
Також треба знайти CMakeLists.txt в сирцевому коді. Цей файл є обов’язковим для збірки бібліотеки через CMAKE.
Тепер треба запустити CMAKE (cmake-gui).
В першому полі вказуємо шлях до теки з файлом CMakeLists.txt в сирцях SFML. Він може зустрічатись неодноразово, але нам потрібен той, який “лежить” найвище.
В другому полі вказуємо шлях до нової теки, куди CMAKE буде генерувати сценарій збірки.
Натискаємо Configure.
З’являється вікно, в якому нам треба вибрати вашу IDE. У мене Visual Studio 17 2022. Інше не чіпаємо, тиснемо Finish.
Потім, після конфігурації проекту, натисніть Generate. В кінці не треба лякатись червоних полів, це нормально.
Потім просто натискаєте Open Project.
Коли IDE відкриє проект, нам треба буде просто натиснути кнопку запуску(збірки), так само як ми запускаємо(збираємо) свій власний код. Ще ми можете переключити debug на release, або зібрати бібліотеку під x32.
P.S. Якщо ви це робите через Visual Studio, то вірогідно отримаєте помилку Unable to start program. Її можна ігнорувати, бо IDE просто намагалась запустити бібліотеку як .exe програму.
Ось і все! Тепер ми можемо використовувати цю щойно зібрану бібліотеку в наших власних проектах. Файли .lib та .dll розташовані в теці зібраного проекту. Файли include знаходяться в теці сирцевого коду бібліотеки.