Introduction au système de construction logicielle CMake
Par Florian Goujeon
Le 2009-01-16 23:16:20, par Florian Goo, Membre éclairé
Bonjour à tous,
Ce sujet est consacré aux commentaires relatifs à l'article « Initiation à CMake » : http://florian-goujeon.developpez.co...ke/initiation/
Ce sujet est consacré aux commentaires relatifs à l'article « Initiation à CMake » : http://florian-goujeon.developpez.co...ke/initiation/
-
spidermarioMembre éprouvéExcellent, excellent
Pour ma part j'utilisais déjà CMake, je le trouve génial et trouve que c'est dommage que si peu de programmes et de bibliothèques l'utilisent.
Ce tuto m'a permis d'en savoir plus sur CMakeCache.txt, merci pour çale 20/01/2009 à 19:46 -
Florian GooMembre éclairéJe suis bien d'accord avec toi !
Merci pour ce commentaire enthousiastele 20/01/2009 à 20:31 -
kriegMembre régulierBonjour,
je suis pour ma part en train de réaliser le passage de la librairie pour laquelle
je travail, et franchement c'est pas mal.
Mais il manque une chose principe sur les tutos c'est comment tester les
librairies présentes et les options de compilations.
Byele 27/01/2009 à 18:43 -
AlpExpert éminent séniorQue veux-tu dire par "tester" ?
Tu veux dire "vérifier qu'elles sont présentes sur le système qui compile" ?le 27/01/2009 à 19:51 -
kriegMembre régulierOui, avant on était sur un système type autoconf automake configure....
autoconf et automake permettait de connaître les caractéristiques du système qui compile. Je sais que cela est réalisable mais je n'ai pas encore trouvé
toutes les informations nécessaire.le 27/01/2009 à 20:02 -
Florian GooMembre éclairéBonjour Krieg,
À ma connaissance, le seul moyen d'effectuer une recherche automatique de bibliothèque avec CMake est d'utiliser un module, ce qui correspond à la « méthode assistée » évoquée dans le cours. Lorsque la bibliothèque n'a pas été trouvée, la commande cmake renvoie un message similaire à ce que peut renvoyer ./configure lorsqu'un test de bibliothèque échoue.
De plus, les autotools fonctionnent avec simplicité sur ce point, vu que par conception sous UNIX les fichiers sont bien rangés dans /usr/lib et /usr/include, ce qui n'est pas le cas sous Windows. Et vu que CMake est également censé fonctionner sous Windows… on se retrouve bridé par le maillon le plus faible de la chaine !
Cela dit, je n'ai jamais utilisé les autotools en tant que développeur, donc je passe peut-être à côté d'une commande cmake similaire que j'aurais dû mettre en valeur dans le cours. Si tel était le cas, j'accueillerais avec plaisir des infos sur le sujet, et je m'empresserais de mettre à jour le cours.
EDIT : À première vue, tu pourrais peut-être être intéressé par la commande find_library : http://www.cmake.org/cmake/help/cmak...d:find_libraryle 28/01/2009 à 1:46 -
kriegMembre régulierSalut,
j'ai continué ma recherche et en effet j'ai trouvé les commande qui m'interessent, à savoir:
Code : 1
2
3INCLUDE(CheckIncludeFiles) CHECK_INCLUDE_FILES( alloca.c C_ALLOCA)
dans le meme styleCode : 1
2
3
4
5
6INCLUDE(CheckFunctionExists) CHECK_FUNCTION_EXISTS( fork HAVE_FORK) include(CheckTypeSize) check_type_size("long long" SIZEOF_LONG_LONG)
Code : 1
2
3CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in" "${PROJECT_BINARY_DIR}/include/${PROJECT_NAME}_config.h")
maintenant je cherche à créer le fichier kaapi.pc pour pkg-config afin de crée tout ce qui faut pour linker avec notre librairie (kaapi un peu de pub ça ne fait pas de mal (elle est gratuite)).
Voila,le 28/01/2009 à 18:50 -
alexisesMembre à l'essaicette article est plutot bon
le seul prob c'est qu'il manque en contenu
une approche de cpack et ctest serait cool ainsi que sur des structure plus avancée.
je ne trouve de plus que peut de support pour cmake ce qui est bien dommage même la ml ne peut me répondre :/le 13/08/2009 à 0:02