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. Les fichiers de configuration (appelé fichiers CMakeLists.txt) sont employés pour produire des fichiers standard de construction (par exemple, fichiers Makefile sur Unix et projets sous Microsoft Visual Studio). CMake peut compiler le code source (C, C++, Fortran, Java), créer des bibliothèques (statique et dynamique avec gestion des dépendances), produire des exécutables (support des WinMain sous Win32 et Bundle sous MacOSX, ainsi que les « universal binaries »). CMake supporte les constructions en place et externe au répertoire contenant les sources, et peut donc soutenir des constructions multiples de répertoires de source. CMake supporte aussi les constructions parallèles (make -jx). CMake supporte aussi via son langage de script: SWIG, Latex, Qt...
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
Aller plus loin
- Annonce (2 clics)
- ChangeLog (1 clic)
- Journal (3 clics)
- La page Dart de CMake (0 clic)
- CMake choisi par l'équipe de KDE (0 clic)
# ObjC / Framework / MacOS X / GNUstep
Posté par oops (site web personnel) . Évalué à 6.
>....
> 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 (site web personnel) . Évalué à 3.
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 . Évalué à 3.
[^] # Re: ObjC / Framework / MacOS X / GNUstep
Posté par Mathieu Malaterre (site web personnel) . Évalué à 2.
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 (site web personnel) . Évalué à 2.
# à la tinderbox
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 5.
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 (site web personnel) . Évalué à 3.
[^] # Re: à la tinderbox
Posté par moi1392 . Évalué à 4.
Si tu veux faire deux commentaires différents, mets les un à la suite de l'autre.
[^] # Re: à la tinderbox
Posté par Mathieu Malaterre (site web personnel) . Évalué à 2.
[^] # Re: à la tinderbox
Posté par Krunch (site web personnel) . Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: à la tinderbox
Posté par Mathieu Malaterre (site web personnel) . Évalué à 2.
# KDevelop
Posté par Narishma Jahar . Évalué à 3.
[^] # Re: KDevelop
Posté par agmk . Évalué à 2.
[^] # Re: KDevelop
Posté par Narishma Jahar . Évalué à 3.
[^] # Re: KDevelop
Posté par Mathieu Malaterre (site web personnel) . Évalué à 1.
# Question de base
Posté par karteum59 . Évalué à 2.
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
Posté par Yth (Mastodon) . Évalué à 3.
En tout cas, je vais y jeter un nyeux...
Yth.
[^] # Re: Question de base
Posté par Tramo Piere . Évalué à 2.
[^] # Re: Question de base
Posté par Mathieu Malaterre (site web personnel) . Évalué à 3.
$ autogen.sh
$ ./configure
$ make
devient:
$ cmake /chemin/des/sources
$ make
# CMake, KDE-4: meme combat
Posté par Sebastien . Évalué à 1.
http://www.omat.nl/drupal/?q=node/65
http://www.cmake.org/Wiki/HowToBuildKDE4Software
-> plein de petits trucs sympas pour CMake et KDE...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.