Incorporando um projeto cmake dentro de outro?

Eu tenho dois projetos, sendo que ambos usam o CMake. Agora, quero incluir um dos projetos como uma biblioteca dentro do outro, mantendo a capacidade de compilá-los como projetos independentes.

O que eu fiz até agora é: Use o sistema de controle de versão para clonar uma cópia do projeto filho em um subdiretório do projeto pai. Eu usei o "add_subdirectory" para incluir o CMakeLists.txt do projeto filho no projeto pai. E fixei as colisões de nomes entre os destinos renomeando alguns dos destinos no projeto filho.

No entanto, um problema que estou enfrentando é que os vários testes de configuração no projeto filho não parecem estar em execução. Por exemplo, o projeto filho usa o módulo FindThreads para determinar quais primitivos de sincronização estão disponíveis. O projeto pai não está ciente dos problemas de encadeamento e, portanto, não possui nenhum teste relacionado a isso. Da mesma forma, o projeto filho tem vários testes para cabeçalhos e não são necessários para o projeto pai. Nenhum desses testes parece estar em execução e os símbolos definidos por esses testes não estão sendo adicionados ao arquivo CMakeCache.txt.

Eu realmente não quero ter que içar todos os testes do projeto filho (que lidam principalmente com problemas específicos da plataforma que não são relevantes para o pai) no CMakeLists.txt do projeto pai.

questionAnswers(1)

yourAnswerToTheQuestion