Rilascio del sistema di build CMake 4.0.0

È stato rilasciato il generatore di script di build multipiattaforma open source CMake 4.0.0, che funge da alternativa ad Autotools e viene 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 la sua semplice sintassi di script, la possibilità di estendere le funzionalità tramite moduli, il supporto per la memorizzazione nella cache, strumenti per la cross-compilazione, la generazione di file di build per un ampio range di sistemi di build e compilatori, e utilità come ctest e cpack per definire script di test e pacchetti di build, insieme a cmake-gui per la configurazione interattiva delle opzioni di build.

Variazioni principali:

  • La compatibilità con le versioni di CMake precedenti alla versione 3.5 è stata interrotta. Quando ci si lega a versioni non supportate, si verificherà ora un errore nelle funzioni cmake_minimum_required() e cmake_policy().
  • È stata aggiunta la variabile d'ambiente "CMAKE_POLICY_VERSION_MINIMUM" per sovrascrivere la versione minima di CMake necessaria per la build del progetto. Questa variabile consente di evitare modifiche nelle chiamate a cmake_minimum_required(VERSION) e cmake_policy(VERSION) nel progetto stesso, ad esempio, per configurare la politica delle versioni in progetti che non offrono questa possibilità.
  • Nell'espressione del generatore "$" è stata aggiunta l'operazione "NATIVE_PATH" per convertire il percorso file dalla rappresentazione di CMake (dove le directory sono sempre separate da "/") al percorso di sistema (in sistemi Unix-like viene utilizzato " /", mentre in Windows si usa "\").
  • Sulla piattaforma macOS, quando si utilizzano generatori di script di build basati su Ninja e generatori Makefile, se nel catalogo "/usr/bin" è presente un compilatore, viene ora mantenuto così com'è, senza legarlo al compilatore in Xcode. Nella build per macOS è stata disabilitata per impostazione predefinita la selezione del SDK e la trasmissione del flag "-isysroot" al compilatore (il SDK ora viene selezionato dal compilatore stesso, non da CMake).
  • È stata aggiunta la proprietà LINK_WARNING_AS_ERROR, per cui i messaggi di avviso del linker saranno considerati errori. Per disattivare questo comportamento, è 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.
  • Nel generatore CPack è stata aggiunta la possibilità di creare archivi tar non compressi.
  • Nella funzione target_link_libraries() e nelle variabili CMAKE_EXE_LINKER_FLAGS*, CMAKE_SHARED_LINKER_FLAGS*, CMAKE_MODULE_LINKER_FLAGS* è stata aggiunta la 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.
  • Sono state aggiunte nuove proprietà: DEBUGGER_WORKING_DIRECTORY e VS_SOLUTION_ITEMS (per allegare file al .sln per Visual Studio).
  • È stata garantita la creazione di assembly CMake pronti 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