I was wondering what is the best way to organize my source code. I was researching on SO and found https://stackoverflow.com/a/1398594/137261 but this source code layout is library specific and doesn't cover my situation.
My situation:
- 10 own modules (100k lines of code)
- 15 external libraries (e.g. boost, sqlite, zlib, etc.)
- 2 critical modules have to be available for selected developers only (maybe separate git repos ?)
- project is multiplatform (Linux and Windows)
- Git as version control system
- cmake used to build project
Question:
- does it make sense to incorporate all libraries into my project e.g. in _3rd_party_libs_ folder ?
- how to handle lib include paths in my modules (environmental variable, relative paths, git submodules, etc. ) ?
- should I always build external libs from source or just use their binaries ?