Estrutura de diretório para uma biblioteca C ++

Eu estou trabalhando em uma biblioteca C ++. Por fim, gostaria de disponibilizá-lo publicamente para várias plataformas (Linux e Windows, pelo menos), juntamente com alguns exemplos ePython ligações. O trabalho está progredindo muito bem, mas no momento o projeto é bastante confuso, construído unicamente em e paraVisual C ++ e não multi-plataforma em tudo.

Portanto, sinto que uma limpeza está em ordem. A primeira coisa que eu gostaria de melhorar é a estrutura de diretórios do projeto. Eu gostaria de criar uma estrutura que seja adequada para oAutomake ferramentas para permitir fácil compilação em múltiplas plataformas, mas eu nunca usei isso antes. Como ainda farei a maioria dos códigos no Visual Studio, precisarei de algum lugar para manter meus arquivos de projeto e solução do Visual Studio também.

Eu tentei google para termos como "estrutura de diretórios de biblioteca C ++", mas nada útil parece surgir. Eu encontrei algumas diretrizes muito básicas, mas sem soluções cristalinas.

Ao olhar para algumas bibliotecas de código aberto, eu vim com o seguinte:

\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
    ...

Não tenho / pouca experiência anterior com projetos de desenvolvimento de plataforma múltipla / open source e estou bastante espantado por não encontrar nenhuma boa orientação sobre como estruturar tal projeto.

Como se deve estruturar geralmente esse projeto de biblioteca? O que pode ser recomendado para ler? Existem alguns bons exemplos?

questionAnswers(5)

yourAnswerToTheQuestion