TLDR;
En caso de que añadir la fuente? SÍ
¿Debería X agregar la fuente? DEPENDE
Aquí viene el por qué ...
En el pasado, el tiempo de compilación era un problema que incluso los proyectos más pequeños tenían. Compilar sus fuentes y nunca preocuparse por el almacenamiento en caché de los resultados del compilador fue definitivamente atractivo para algunos. Ese es un punto para las bibliotecas irrelevantes para usted.
Otro importante es el versionado. ¿Realmente necesitas versionar cada biblioteca por separado? Ejecutar pruebas contra cada uno? ¿Distribuirlo entre muchos miembros del equipo? Las bibliotecas son excelentes si lo hace, y conveniente para moverse, pero de nuevo, parece que tampoco le importa.
El punto final aquí es que es una sobrecarga adicional, y soltar los archivos de origen es más fácil en su caso, lo que le da un punto muy fuerte para soltar los orígenes en lugar de usar bibliotecas. Como ha notado, una vez que realiza un cambio en la configuración del compilador, debe perseguir todas las dependencias de lo contrario.
Sé todo esto por experiencia:
Para proyectos Swift, definitivamente uso frameworks (bibliotecas) y enlaces contra ellos, ya que es fácil de configurar usando Xcode. También realmente necesito el control de versiones, las pruebas y el desacoplamiento allí, por eso.
Para los proyectos Mono (C #), para Unity, comencé con el enfoque moderno de dividir el proyecto en bibliotecas, compilé y probé cada uno, lo cual fue genial ... pero una vez que dejé las bibliotecas en Unity, sucedieron todo tipo de problemas , desde la versión pirateada de los usos de Mono Unity, hasta simplemente el comportamiento a veces diferente que exhibe el código al cambiar de plataforma. No tener un solo IDE aquí para administrar todas las bibliotecas fue un verdadero dolor, por lo que poner toda la fuente dentro de Unity fue una gran victoria para la productividad.
Finalmente, lo más relevante para ti, un proyecto de juego C ++ en el que trabajé. Un motor de juego, un cliente de red en tiempo real, un cliente HTTP de red, AI y una tienda de persistencia fueron escritos para este juego, solo en el lado del cliente. ¿Por qué opté? Bibliotecas CLion +. Aunque estaba usando bibliotecas, no parecía que lo estuviera. Todas las fuentes estaban en el proyecto CLion IDE, y al componer CMakeLists, pude activar todas las compilaciones y vincularlas de un solo golpe.
Como conclusión , diría que usar bibliotecas es una solución preparada para el futuro, pero también una optimización prematura si no es necesaria. Por lo que pude determinar de su situación, cambiar de MSVC a Xcode será un dolor si va a tener un objetivo de compilación múltiple. Por lo tanto, simplemente dejarlo caer y mantener tanto el aislamiento como sea posible para cuando el momento en el que podría necesitar bibliotecas de uso.
PD: Tengo un dilema similar en estos días con Docker. ¿Debo componer? ¿Debo correr solo localmente? .. etc. También Elixir, ya que le permite crear aplicaciones dentro de la misma aplicación. ¿Debería hacer eso? ¿O separar la aplicación en los llamados microservicios? ... etc. No hay bala de plata, siempre mídete, como YMMV.