Articles précédents : Logiciel
- [30] Acceleo sort en version 1.0
- [8] Zen, le CRM open source (GPL)
- [26] Sortie du CMS Drupal en version 4.7
- [15] Projet DJMix
- [76] Modifier le firmware d'une Freebox grâce à OpenFreeBox
- [45] Sortie de Open-Xchange 0.8.2
- [40] Sortie d'ejabberd 1.1.0
- [64] Virtualisation de Serveur : Linux sous Windows
- [13] PTT : outil de trace pour la NPTL
- [18] eGroupWare 1.2
Liens connexes
- Annonce (210 hits)
- ChangeLog (55 hits)
- Journal (202 hits)
- La page Dart de CMake (315 hits)
- CMake choisi par l'équipe de KDE (180 hits)
Dépêche modérée par
Dépêche éditée par
CMake est un logiciel libre, sous License BSD, qui permet la construction de logiciel indépendamment du système d'exploitation ou du compilateur. À la différence de beaucoup de systèmes de multiplateforme, CMake est conçu pour être employé avec les outils natifs de compilation.
CMake est testé de manière continue grâce a l'intégration avec Dart. À intervalle régulier pendant la journée, CMake est recompilé sur différentes plateformes, et il est recompilé complètement chaque nuit sur toutes les plateformes supportées. À chaque fois les tests de non régression sont exécutés et le résumé est envoyé au serveur Dart. Si la compilation et/ou un des tests échoue un email est envoyé à la personne concernée, trouvée via le cvs log.
Mais la principale nouvelle, c'est surtout que CMake a été choisis par l'équipe de KDE. Après un premier essai avec le système de construction Scons, l'équipe de KDE s'est heurté à des problèmes insolubles. Les problèmes ont été soumis à l'équipe qui proposait CMake et tous ont été réglés de manière très rapide grâce au soutien de l'équipe de développeurs de CMake.
Annonce (210 hits)
ChangeLog (55 hits)
Journal (202 hits)
La page Dart de CMake (315 hits)
CMake choisi par l'équipe de KDE (180 hits)
> Lire la suite (20 commentaires, moyenne: 2,8). [dépêche : 1243 caractères]
Liste des environnements supportés :
- Makefile (*nix systèmes)
- Visual Studio 6/7/8
- NMakefile
- Borland Makefile
- MingW Makefile
- MSYS Makefile
- Cygwin Makefile
- Wacom Makefile
- XCode (1.5 et 2.x)
CMake fonctionne sous :
- GNU/Linux
- FreeBSD
- AIX
- SunOS
- IRIX/SGI
- Darwin (MacOSX)
- HP-UX
- Microsoft Windows
ObjC / Framework / MacOS X / GNUstep
> CMake peut compiler le code source (C, C++, Fortran, Java) ...
>....
> produire des exécutables ....et Bundle sous MacOSX, ainsi que
>les « universal binaries »
Plusieurs questions :
- Est-ce que Objective-C est supporté ? ( a priori oui si on peut faire des bundles )
- Est-ce que les bundles et les "universal binaries" sont supportés hors MacOSX ( c.a.d. GNUstep )
- Est-ce que les frameworks ( au sens MacOSX / GNUstep ) sont supportés
- Est-ce que cmake support Objective-C++ ( berk )
En gros est ce que cela peut remplacer gnustep-make ?
-
[^]Re: ObjC / Framework / MacOS X / GNUstep
Posté par Mathieu Malaterre (page perso, ) le 08/05/2006 à 20:18. (lien). Évalué à 3.Il n'y a pas de support direct de Obj-C/ Obj-C++, ca marche quand meme puisque gcc reconnait les extensions m et mm.
Tu peux essayer par example:
$ cat CMakeLists.txt
PROJECT(bla C)
ADD_EXECUTABLE(foo.m foo)
Et pour ObjC++
$ cat CMakeLists.txt
PROJECT(bla C++)
ADD_EXECUTABLE(foo.mm foo)-
[^]Re: ObjC / Framework / MacOS X / GNUstep
Posté par HappyPeng () le 09/05/2006 à 07:59. (lien). Évalué à 3.Si, cmake reconnait quand même .m et .mm comme des extensions de code source, et il scanne les dépendances dessus comme sur les .c/.cc, sinon ces commandes ne fonctionneraient pas...
-
[^]Re: ObjC / Framework / MacOS X / GNUstep
Posté par Mathieu Malaterre (page perso, ) le 10/05/2006 à 17:28. (lien). Évalué à 2.Effectivement j'ai oublie de mentionner ca.
Mais encore une fois je ne pense pas que xlC soit supporte... ca ne marchera que si xlC reconnait les extensions .m et .mm
-
[^]Re: ObjC / Framework / MacOS X / GNUstep
Posté par Mathieu Malaterre (page perso, ) le 10/05/2006 à 17:31. (lien). Évalué à 2.Ah oui et une autre truc, les CFLAGS et CXXFLAGS sont passes aux compilateurs meme sur les Obj-C et Obj-C++. CMake considere vraiment les Obj-C et Obj-C++ respectivement comme des fichiers C et C++
-
-
à la tinderbox
À intervalle régulier pendant la journée, CMake est recompilé sur différentes plateformes, et il est recompilé complètement chaque nuit sur toutes les plateformes supportées. À chaque fois les tests de non régression sont exécutés et le résumé est envoyé au serveur Dart. Si la compilation et/ou un des tests échoue un email est envoyé à la personne concernée, trouvée via le cvs log.
Dart est un système similaire aux tinderbox de Mozilla ( http://tinderbox.mozilla.org/ ), à la différence prés que c'est pas à intervalle régulier que les compils sont effectués, mais en permanence. Et gare à celui qui commit et fait echouer une compil, ou fait echouer les tests de performances. le Sheriff veille :-)
Je trouve que c'est une bonne idée d'utiliser ce genre d'outils (tinderbox ou dart), ça permet de réagir trés vite et d'améliorer la qualité en permanence. D'être toujours sûr qu'une nightly build fonctionne un minimum, afin que n'importe qui puisse tester n'importe quand.
-
[^]Re: à la tinderbox
Posté par Mathieu Malaterre (page perso, ) le 05/05/2006 à 17:50. (lien). Évalué à 3."En permanence" comment ca peux marcher. Genre je fais 2 commits (qui sont lies) mais je veux faire deux commentaires differents. Si tinderbox comment a recompiler juste apres le premier commit il va faire du bruit pour rien...
-
[^]Re: à la tinderbox
Posté par moi1392 () le 06/05/2006 à 18:02. (lien). Évalué à 4.C'est parce que tu te sers mal des outils de gestion de version. Les commits sont censés être atomiques et faire passer l'arbre d'un état stable à un autre état stable.
Si tu veux faire deux commentaires différents, mets les un à la suite de l'autre.-
[^]Re: à la tinderbox
Posté par Mathieu Malaterre (page perso, ) le 08/05/2006 à 20:21. (lien). Évalué à 2.Ca marche bien dans le cas ou tu n'as qu'un arbre. Mais pour moi tu peux avoir une application qui depende d'une librarie et les deux CVS (ou bien un CVS et un SVN) ne peuvent pratiquement pas etre stable a la meme seconde. Je comprends que c'est un peu special, mais ca m'etonnait que personne n'ai eu le probleme.
-
-
[^]Re: à la tinderbox
Posté par Krunch (Jabber id, page perso, ) le 06/05/2006 à 19:24. (lien). Évalué à 3.IMO si les deux commits sont interdépendants, ça ne devrait en faire qu'un. C'est pas comme si on pouvait pas écrire plusieurs lignes dans un commitlog.
--
Free Softwares Users Group Arlon (Sud Luxembourg, Belgique)
pertinent, e adj. Approprié ; qui se rapporte exactement à ce dont il est question.-
[^]Re: à la tinderbox
Posté par Mathieu Malaterre (page perso, ) le 08/05/2006 à 20:15. (lien). Évalué à 2.J'ai des images de regression dans un CVS et des tests (C++) dans un autre repository. Effectivement les deux sont dependant mais dans mon cas ils sont physiquement dans deux repository differents...
-
-
KDevelop
Dans la liste des environnements supportés il manque KDevelop.
-
[^]Re: KDevelop
Posté par agmk () le 05/05/2006 à 10:43. (lien). Évalué à 2.Je ne pense pas. Il me semble qu'ici "environment supporté" désigne le système de build cible (make & co), et que "Visual Studio" et "XCode" concerne la génération de leurs fichiers projets spécifiques réciproques.
--
Wr ar fbhunvgr cnf ha qrfgva sharfgr à yn cncnhgé. Nzra.-
[^]Re: KDevelop
Posté par Narishma Jahar () le 05/05/2006 à 18:07. (lien). Évalué à 3.Il génère aussi les fichiers projets de KDevelop.
-
-
[^]Re: KDevelop
Posté par Mathieu Malaterre (page perso, ) le 05/05/2006 à 17:41. (lien). Évalué à 1.Bien vu ! Autant pour moi...
Question de base
CMake est un logiciel libre, sous License BSD, qui permet la construction de logiciel indépendamment du système d'exploitation ou du compilateur. À la différence de beaucoup de systèmes de multiplateforme, CMake est conçu pour être employé avec les outils natifs de compilation.
En fait ce serait plus à rapprocher de GNU make, des autotools ou les 2 à la fois ?
(désolé si la question est stupide, pas le temps de regarder + pour l'instant...)
-
[^]Re: Question de base
-
[^]Re: Question de base
Posté par Tramo Piere () le 05/05/2006 à 12:04. (lien). Évalué à 2.Celui-ci est surtout à rapprocher de Qmake. Le texte est un peu accrocheur, mais au fond Cmake est toujours un générateur de code, tout comme les autotools.
-
[^]Re: Question de base
Posté par Mathieu Malaterre (page perso, ) le 05/05/2006 à 17:54. (lien). Évalué à 3.Ca serait plutot autotools+m4. Tu auras toujours besoin de ton bon vieux make. CMake ne fais que generer les Makefiles (avec dependences) pour toi. En gros:
$ autogen.sh
$ ./configure
$ make
devient:
$ cmake /chemin/des/sources
$ make
CMake, KDE-4: meme combat
Je suis tombe la-dessus (enfin c'est plutot mon aggregateur qui me l'a lance):
http://www.omat.nl/drupal/?q=node/65
http://www.cmake.org/Wiki/HowToBuildKDE4Software
-> plein de petits trucs sympas pour CMake et KDE...




Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.