Dalam pengembangan (terutama C ++) saya, saya telah lama berpegang pada penggunaan build out-of-source. Artinya, sumber saya biasanya duduk di /project/src
direktori dan membangun hidup dalam /project/build/bin/release
, /project/build/bin/debug
direktori. Saya telah melakukan ini karena menjaga direktori sumber saya bersih dari file perantara, saya punya satu lokasi untuk semua binari saya, pengemasan lebih mudah, pembersihan lebih mudah, dan kontrol versi lebih mudah. (Apakah saya melewatkan sesuatu?)
Saya mewarisi proyek (besar) sekarang yang menggunakan build in-source. Apa motivasi untuk jenis struktur ini dan apa kelebihannya? (Saya paling peduli dengan alasan tingkat teknik vs. jenis alasan preferensi pribadi.)
Saya berharap Lakos '"Skala Besar C + + Desain Perangkat Lunak" akan membebani itu, tapi saya melewatkannya jika itu terjadi.
/project/src/bin/release
, atau benar-benar semua file antara dan keluaran /project/src
? Yang terakhir ini memang bisa berantakan jika ada lebih dari selusin file sumber, yang pertama ok.
main.cpp
awalnya berada di tingkat atas proyek Anda, itu masih membuat direktori build cmake terpisah dari sumber Anda di tingkat atas itu. Saya percaya MSVS juga mirip dengan Clion dalam hal ini.