S'ha libreado la nova actualització de l'generador de scripts CMake 3.15

cmake

Fa alguns dies s'anuncia el llançament del generador d'scripts de codi obert multiplataforma CMake 3.15 que actua com una alternativa a Autotools i s'utilitza en projectes com el KDE, LLVM / Clang, MySQL, MariaDB, ReactOS i Blender.

CMake és una eina multiplataforma de generació o automatització de codi. El nom és una abreviatura per a cross platform make (make multiplataforma, més enllà de l'ús de make al nom, CMake és una suite separada i de més alt nivell que el sistema make comú d'Unix, sent similar a les autotools.

Sobre CMake

CMake és notable per proporcionar un llenguatge de scripting simple, eines per estendre la funcionalitat a través de mòduls, el nombre mínim de dependències (sense vinculació amb M4, Perl o Python), suport d'emmagatzematge en memòria cau, la disponibilitat d'eines per a compilació creuada, suport per generar fitxers d'assemblatge per a una àmplia gamma de sistemes de compilació i compiladors.

Les utilitats ctest i cpack per definir escenaris de prova i la creació de paquets, amb la utilitat cmake-gui per configurar interactivament els paràmetres de construcció.

CMake s'utilitza per controlar el procés de compilació del programari usant fitxers de configuració senzills i independents de la plataforma. Cmake genera makefiles nadius i espais de treball que es poden fer servir en l'entorn de desenvolupament desitjat.

És comparable al GNU build system d'Unix en què el procés és controlat per fitxers de configuració, en el cas de CMake anomenats CMakeLists.txt.

Al contrari que el GNU build system, que està restringit a plataformes Unix, CMake suporta la generació de fitxers per a diversos sistemes operatius, cosa que facilita el manteniment i elimina la necessitat de tenir diversos conjunts de fitxers per a cada plataforma.

El procés de construcció es controla creant un o més fitxers CMakeLists.txt a cada directori (incloent subdirectoris).

El codi CMake està escrit en C++ i es distribueix sota la llicència BSD.

Principals novetats de CMake 3.15

Aquesta nova versió es destaca per l'arribada del suport inicial del generador per al llenguatge Swift desenvolupat per Apple s'ha afegit al generador d'scripts d'acoblament del kit d'eines Ninja.

A més d'aquest, també arriba el suport per a l'opció del compilador Clang per a Windows que es construeix amb ABI MSVC, però utilitza les opcions de línia d'ordres d'estil GNU.

Els desenvolupadors destaquen que les variables CMAKE_MSVC_RUNTIME_LIBRARY y MSVC_RUNTIME_LIBRARY s'agreguen per seleccionar les biblioteques de temps d'execució utilitzades pels compiladors ABI MSVC (MS Visual Studio).

Per a compiladors com MSVC, a CMAKE__FLAGS, per defecte, la llista d'indicadors de control d'advertiment, com ara «/ W3», s'atura.

De les altres millores que es destaquen a l'anunci de l'alliberament d'aquesta nova versió trobem el següent:

  • S'ha afegit l'expressió generadora «COMPILE_LANG_AND_ID:» per definir les opcions del compilador per als fitxers de destinació que utilitzen les variables CMAKE__COMPILER_ID y LANGUAGE per a cada fitxer de codi
  • Les expressions del generador C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID y PLATFORM_ID afegeixen compatibilitat per fer coincidir un valor amb una llista, elements separats per comes
  • Es va agregar la variable CMAKE_FIND_PACKAGE_PREFER_CONFIG, en què la trucada a find_package () cercarà primer el fitxer de configuració del paquet, encara que el mòdul de cerca està disponible
  • Per a les biblioteques d'interfície, s'ha afegit compatibilitat per establir les propietats PUBLIC_HEADER y PRIVATE_HEADER, les capçaleres dels quals es poden configurar mitjançant l'ordre d'instal·lació (TARGETS) passant els arguments PUBLIC_HEADER y PRIVATE_HEADER
  • Es va agregar la variable CMAKE_VS_JUST_MY_CODE_DEBUGGING i la propietat de destinació VS_JUST_MY_CODE_DEBUGGING per habilitar el mode Just My Code al depurador de Visual Studio quan es compila usant MSVC cl 19.05 i versions més noves.
  • El mòdul FindBoost s'ha reelaborat, que ara està treballant més completament en els modes de configuració i mòdul amb la presència d'altres mòduls de cerca
  • S'ha afegit la compatibilitat amb els tipus NOTICE, VERBOSE, DEBUG i TRACE al comandament message ()
  • La comanda exporta (PAQUET) ara no fa res fins que s'habilita explícitament a través de la variable CMAKE_EXPORT_PACKAGE_REGISTRY.

Si vols conèixer més a l'respecte pots consultar el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.