Rilascio del sistema di build CMake 4.0.0

È stato rilasciato il generatore di script di build CMake 4.0.0, un'alternativa multipiattaforma agli Autotools, utilizzato in progetti come KDE, LLVM/Clang, MySQL, MariaDB, ReactOS e Blender. Il codice CMake è scritto in C++ e distribuito con licenza BSD.

CMake è noto per fornire un linguaggio di script semplice, per le sue capacità di estensione tramite moduli, per il supporto della caching, per la disponibilità di strumenti per la cross-compilazione, per la generazione di file di build per un ampio spettro di sistemi di build e compilatori, e per le utility ctest e cpack destinate a definire script di test e pacchetti di build, oltre all'utility cmake-gui per la configurazione interattiva dei parametri di build.

Principali modifiche:

  • La compatibilità con le versioni di CMake precedenti alla 3.5 è stata interrotta. Quando si fa riferimento a versioni non supportate, ora verrà restituito un errore nelle funzioni cmake_minimum_required() e cmake_policy().
  • È stata aggiunta la variabile ambiente "CMAKE_POLICY_VERSION_MINIMUM" per sovrascrivere la versione minima di CMake necessaria per costruire il progetto. Questa nuova variabile consente di evitare le modifiche alle chiamate cmake_minimum_required(VERSION) e cmake_policy(VERSION) all'interno del progetto, ad esempio per configurare le politiche di versioni in progetti che non prevedono tale possibilità.
  • Nell'espressione del generatore "$" è stata aggiunta l'operazione "NATIVE_PATH" per convertire il percorso file dalla rappresentazione CMake (dove i separatori di directory sono sempre "/") al percorso di sistema (in sistemi Unix-like si usa "/", mentre in Windows si usa "\").
  • Sulla piattaforma macOS, utilizzando generatori di script di build basati sull'implementazione Ninja e generatori Makefile, se nel diretto "/usr/bin" è presente un compilatore, questo rimane invariato, senza essere vincolato al compilatore di Xcode. Durante la build per la piattaforma macOS, la selezione predefinita dell'SDK e il passaggio dell'opzione al compilatore "-isysroot" sono stati interrotti (ora è il compilatore a scegliere l'SDK, e non CMake).
  • È stata aggiunta la proprietà LINK_WARNING_AS_ERROR, che tratta i warning del linker come errori. Per disattivare questa proprietà, è stata aggiunta l'opzione della riga di comando "—link-no-warning-as-error".
  • Nell'utilità cmake è stata aggiunta l'opzione "—project-file" per specificare un nome alternativo per il file CMakeLists.txt.
  • Al generatore CPack è stata aggiunta la possibilità di creare archivi tar non compressi.
  • Nel comando target_link_libraries() e nelle variabili CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* è stato aggiunto il supporto per il prefisso "LINKER:".
  • Sono state aggiunte nuove variabili:
    • CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL,
    • CMAKE__LINK_MODE,
    • CMAKE__DEVICE_LINK_MODE,
    • CMAKE_LINK_WARNING_AS_ERROR,
    • CMAKE_MSVC_RUNTIME_CHECKS,
    • CMAKE_DEBUGGER_WORKING_DIRECTORY,
    • CMAKE_XCODE_SCHEME_LLDB_INIT_FILE,
    • CMAKE_XCODE_SCHEME_TEST_CONFIGURATION.
  • Aggiunti nuovi attributi: DEBUGGER_WORKING_DIRECTORY e VS_SOLUTION_ITEMS (per allegare file a .sln per Visual Studio).
  • È stata garantita la generazione di build CMake pronte per SunOS per le architetture sparc64 e x86_64.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster