|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : mai 2005 Messages : 298 ![]() |
Bonjour,
j'utuilise cmake depuis peu, et j'ai une question Dans mon répertoire de travail, j'ai deux dossiers: MaLibrairie, dans lequel se trouve un CMakeLists.txt qui crée le Makefile pour... ma librairie (duh) et MonProgramme dans lequel se trouve un CMakeLists.txt pour mon programme, qui utilise ma libraire. Dans mon répertoire de travail, j'ai un CMakeLists.txt "principal" qui contient (entre autres) Code :
Problème: comme MonProgramme a besoin de MaLibrairie, le CMakeLists.txt de MonProgramme contient un find_library pour trouver MaLibrairie. Quand rien n'est encore compilé, faire un "cmake ." dans le repertoire de travail échoue, car le 2ème CMakeLists.txt ne trouve pas MaLibrairie (normal: elle n'existe pas encore). Mais du coup, même ma librairie ne compile pas. Existe-t'il un moyen pour forcer la génération du Makefile de MaLibrairie même si l'autre Makefile ne peut pas encore être crée (ainsi il me suffit de faire 2 fois "cmake . ; make", la première fois ça build la lib, la 2eme ça build le programme)? Une autre solution me conviendrait, le but étant de ne pas devoir éditer le CMakeLists.txt a chaque fois... Merci! |
||
|
|
00
|
|
|
#2 | ||
|
Membre expérimenté
![]() Ingénieur informatique industrielle Inscription : avril 2006 Messages : 381 ![]() |
si ta librairie fait partie du projet, il faut plutôt utiliser link_directories, add_library et target_link_libraries:
dans MaLibrairie/CMakeLists.txt : dans MonProgramme/CMakeLists.txt : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : mai 2005 Messages : 298 ![]() |
mais... mais... ça marche!!!
merci beaucoup! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com