2012-11-27 8 views
0

Je suis nouveau à CMake et j'ai un peu de mal. Est-il possible de nommer les cibles CMake en fonction du répertoire dans lequel elles ont été créées? Par exemple, je voudrais écrire mes bibliothèques dans un répertoire lib/qui ferait écho à ma structure de répertoire source. Imaginez que j'ai les répertoires source dir1 et dir2, et que tous deux créent une bibliothèque libmylib.a Normalement, CMake peut se plaindre de créer des bibliothèques/cibles avec le même nom, mais si les bibliothèques ont été écrites dans lib/dir1/libmylib.a et lib/dir2/libmylib.a alors vous pourriez référencer ces cibles comme dir1/libmylib et dir2/libmylib dans vos fichiers CMakeLists.txt (vraisemblablement) sans conflit.Nommer les cibles CMake par répertoire

Répondre

2

Dans CMake, le nom de la bibliothèque logique peut être totalement découplé du nom du fichier produit par la cible. Il n'y a aucun problème à avoir un / dans vos noms de cible. Vous pouvez ajouter vos bibliothèques comme ceci:

add_library(dir1/mylib STATIC source1 source2 ...) 
set_property(TARGET dir1/mylib PROPERTY OUTPUT_NAME mylib) 
Questions connexes