Jenkins + Cmake + JIRA = IC de vários projetos interdependentes?

Temos vários projetos pequenos em nosso sistema em execução no Linux (Slackware 7-11, migrando lentamente para o RHEL 6.0). Cerca de 50 a 100 aplicativos e 15 a 20 bibliotecas. Quase todos os nossos aplicativos usam uma ou mais de nossas bibliotecas. Nossa árvore de origem é mais ou menos assim:

/app1
/app2
/app3
/include
/foo/app4
/foo/app5
/foo/app6
/foo/lib1
/foo/lib2
/lib/lib3
/lib/lib4
/lib/include

Agora, trabalhei na criação de alguns arquivos CMakeLists.txt e construí a maioria das bibliotecas e alguns dos aplicativos. Estou bastante confortável com o uso do cmake para construir. Eu fiz isso com a v2.6 e recentemente (uma hora atrás) atualizei para a 2.8. Cada um dos projetos acima possui seu próprio arquivo CMakeLists.txt específico para o projeto a ser construído e instalado (ainda sem empacotamento).

Tenho um requisito para fazer uso e reforçar a integração contínua. Eu instalei e brinquei com Jenkins e, pelo que vi, estou muito impressionado. Também estou avaliando o JIRA para acompanhar nosso problema.

Sim, para fazer as coisas acontecerem, fiz uma instalação cmake em todas as bibliotecas, para que os aplicativos possam encontrá-las no sistema de arquivos. Os cabeçalhos são instalados em / usr / local / include e as bibliotecas em / usr / local / lib. Isso é algo ruim de se fazer? Seria melhor dizer ao cmake para procurar o diretório de origem da lib, use o interface de exportação ou o recentemente introduzido ExternalProject_Add?

Por que vou usar o Jenkins, não posso garantir que o cmake possa encontrar o diretório de origem ou de construção. Obviamente, posso dizer ao Jenkins para criar os projetos em ordem (ou pelo menos, construir as dependências primeiro). Se uma atualização de uma biblioteca quebrar a construção de outro projeto, acho que dependerá de alguém com 3/4 de inteligência para determinar iss

Agradeço antecipadament

questionAnswers(1)

yourAnswerToTheQuestion