Estructura de directorios para una biblioteca de C ++

Estoy trabajando en una biblioteca de C ++. En última instancia, me gustaría ponerlo a disposición del público para múltiples plataformas (al menos Linux y Windows), junto con algunos ejemplos yPitón fijaciones El trabajo avanza muy bien, pero en este momento el proyecto es bastante desordenado, construido exclusivamente en y paraVisual C ++ y no multiplataforma en absoluto.

Por lo tanto, siento que una limpieza está en orden. Lo primero que me gustaría mejorar es la estructura de directorios del proyecto. Me gustaría crear una estructura que sea adecuada para elAutomake herramientas para permitir una compilación fácil en múltiples plataformas, pero nunca las he usado antes. Como todavía estaré haciendo (la mayoría de) la codificación en Visual Studio, también necesitaré un lugar para guardar mis archivos de proyecto y solución de Visual Studio.

Intenté buscar en Google términos como "estructura de directorios de bibliotecas de C ++", pero no aparece nada útil. Encontré algunas pautas muy básicas, pero no soluciones cristalinas.

Mientras observaba algunas bibliotecas de código abierto, se me ocurrió lo siguiente:

\mylib
    \mylib <source files, read somewhere to avoid 'src' directory>
        \include? or just mix .cpp and .h
    \bin <compiled examples, where to put the sources?>
    \python <Python bindings stuff>
    \lib <compiled library>
    \projects <VC++ project files, .sln goes in project root?>
    \include? 
    README
    AUTHORS
    ...

No tengo / tengo poca experiencia previa con proyectos de desarrollo multiplataforma / código abierto y estoy bastante sorprendido de que no puedo encontrar ninguna buena guía sobre cómo estructurar un proyecto de este tipo.

¿Cómo debería uno estructurar en general un proyecto de biblioteca de este tipo? ¿Qué se recomienda leer? ¿Hay algunos buenos ejemplos?

Respuestas a la pregunta(5)

Su respuesta a la pregunta