Cmake et sous répertoires
Bonjour
j'essaie d'utiliser CMake pour générer les makefiles d'un gros projet qui était jusqu'à présent compilé avec make à partir de makefiles générés par SNIFF, un progiciel antédiluvien :cry:. Je débute completement avec Cmake, mais je compte beaucoup dessus, et il a l'immense avantage d'être toujours maintenu.
pour classer les sources les developpeurs ont eu l'idee de les organiser dans des sous répertoires. par exemple je vais avoir
Code:
1 2 3 4 5 6 7
|
src
- lib1_ihm (contient des sources, puis les obj apres compil)
- lib1_calc (contient des sources, puis les obj apres compil)
- lib2_aux (contient des sources, puis les obj apres compil)
- lib1_dll (contient seulement la dll resultant du link des obj de lib1_ihm et lib1_calc)
- lib2_dll (contient seulement la dll resultant du link des obj de lib2_aux) |
en gros une fois que les makefiles sont générés, make se balade d'un repertoire à l'autre pour compiler les objets puis construire les cibles.
Avec Cmake je ne retrouve pas cette façon de faire :
- on déclare une cible qui peut-être soit une lib soit un exe, sinon je pense que le make ne fait rien
- ou alors on peut faire un add_subdirectory pour que Cmake descende dans un sous repertoire
- ou enfin on remonte toutes les sources dans le CmakeList.txt de la lib
Est ce qu'il est possible de mixer un peu le tout pour avoir par exemple pour lib1_dll:
Code:
1 2 3 4 5
|
add_subdirectory(../lib1_ihm)
add_subdirectory(../lib1_calc)
add_library(lib1_dll $lib1_ihm $lib1_calc) |
avec dans lib1_ihm et dans lib1_calc des fichiers CmakeList.txt qui declarent juste la liste des fichiers à compiler?