У моїй розробці (насамперед C ++) я давно дотримувався використання збірок із вихідних джерел. Тобто, мій джерело , як правило , знаходиться в /project/src
директорії і будує жити в /project/build/bin/release
, /project/build/bin/debug
каталоги. Я зробив це, тому що він зберігає мої вихідні каталоги чистими від проміжних файлів, у мене є одне розташування для всіх моїх бінарних файлів, упаковка легша, чистка легша, а управління версіями - простіше. (Я щось пропустив?)
Зараз я успадковую (великий) проект, який використовує вбудовані джерела. Яка мотивація цього типу структури та які її переваги? (Мене найбільше турбують причини інженерного рівня та особисті переваги.)
Я сподівався, що «Великий масштабний C ++ Software Design» Лакоса зважився б на ньому, але я пропустив його, якби це було.
/project/src/bin/release
, чи справді всі проміжні та вихідні файли /project/src
? Останнє може бути справді безладним, якщо є більше десятка вихідних файлів, перший - це нормально.
main.cpp
спочатку перебуваючи на найвищому рівні вашого проекту, він все ще створює окремий каталог збірки cmake подалі від вашого джерела на цьому верхньому рівні. Я вважаю, що MSVS схожий на Clion і в цьому плані.