Недавно начал познавать C++
Пишу не большой проект на macOS 15 ARM, который компилируется в библиотеку .dylib
Сначала все файлы с кодом (.h и .cpp) лежали в папке src и я просто запускал файл ./build.sh, который компилировал необходимый бинарник.
Файлов с кодом стало неудобно много и я решил их разделить на логические группы по директориям внутри src и вопрос использования CMake стал острее.
Сконструировал файл CMakeLists.txt, портировав в него аргументы/команды/флаги из build.sh
Если я компилирую dylib-файл с помощью ./build.sh (там и компиляция и codesign) - файл весит ~257 КБ
Если я компилирую dylib-файл с помощью
cmake -B build -S .
cd build
make
codesign -f --deep -s - *.dylib
файл весит ~273 КБ
Если я из файла main.cpp убираю (закомментирую) большую часть "бизнес-кода" и проведу компиляцию снова, то dylib в обеих случаях весит примерно одинаково 253 КБ
Да, я понимаю, что размер в 17 КБ по современным меркам звучит смехотворно, тем не менее он есть.
А также есть жгучее желание не добавлять дополнительный вес файлов, когда это возможно.
Вот исходники проекта:
https://mega.nz/file/sjQGEZSI#kN9GfXluW7C245CqP46K...
В директории v1 - изначальный вариант, в директории v2- с закомментированной частью кода в main.cpp
Собственно вопрос в заголовке:
Почему бинарник скомпилированный через CMake весит больше, чем напрямую скомпилированный через clang++ ?