знакомлюсь с CMake, сразу возникли вопросы.
Проблема в том что не знаю разницы между .o и .a (и библиотеками). Раньше всегда собирал программы так: делаем .o файлы для каждого .c потом все это линкуем в общую программу.
А в CMake вместо объектных файлов используются только библиотеки как я понял. Например add_library делает сборку библиотеки из указанных хедерных и сурсных файлов.
В чем собсно разница между просто объектным файлом .о и библиотечным файлов .a (разнице между статической линковкой и динамической я вроде понял)
Например если я имею два .c файла, то раньше я собирал это в два .o потом линковал. Щас мне нужно написать add_library(... header source) таким образом подразумевается что ны выходе будет один библиотечный файл. А потом а гдето выше по иерархии add_executable. Разницу между двумя .o и одним .a есть вообще принципиальная?