Ny version av byggsystemet CMake 3.16

Presenteras release av den plattformsoberoende, öppna bygg-skriptgeneratorn CMake 3.16, som fungerar som ett alternativ till Autotools och anvÀnds i projekt som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS och Blender. CMake-koden Àr skriven i C++ och distribueras under BSD-licensen.

CMake Àr kÀnt för att erbjuda ett enkelt skriptsprÄk, möjligheter att utöka funktionaliteten genom moduler, ett minimalt antal beroenden (ingen bindning till M4, Perl eller Python), stöd för caching, verktyg för korskompilering, samt stöd för generering av byggfiler för ett brett spektrum av byggsystem och kompilatorer, inklusive ctest och cpack-verktyg för att definiera test- och paketbyggnads-skript, plus cmake-gui-vertyget för interaktiv konfiguration av byggparametrarna.

Huvud förbÀttringar:

  • Stöd för sprĂ„ken Objective C («OBJC») och Objective C++ («OBJCXX») har lagts till, vilka kan aktiveras via kommandona project() och enable_language(), efter vilket koden i filer med Ă€ndelserna «.m» och «.mm» kommer att kompileras som kod pĂ„ Objective C och Objective C++, istĂ€llet för som C++ kod som tidigare.
    Stöd för Clang-kompilatorn pÄ Solaris-plattformen har lagts till.
  • Nya kommandoradsparametrar har lagts till: «cmake -E true|false» för att ge returvĂ€rden 0 och 1; «cmake —trace-redirect=» för att omdirigera spĂ„rningsinformation till en fil, istĂ€llet för «stderr»; kommandot «cmake —loglevel» har döpts om till «—log-level» för att matcha namnen pĂ„ de andra kommandona.
  • Kommandot «target_precompile_headers()» har lagts till för att lista de headerfiler som anvĂ€nds vid förkompilering (minskar byggtiden).
    Egenskapen «UNITY_BUILD» har lagts till, vilket aktiverar batchbearbetning av kÀllfiler i generatorerna för att pÄskynda byggandet.
  • Kommandona «find_file()», «find_library()», «find_path()», «find_package()» och «find_program()» har lagts till för att söka efter filer, bibliotek, sökvĂ€gar, paket och körbara filer enligt variabler som definierar sökvĂ€gar för olika filtyper.
  • För att hantera grundlĂ€ggande sökvĂ€gar anvĂ€nds variablerna «CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH», «CMAKE_FIND_USE_CMAKE_PATH», «CMAKE_FIND_USE_CMAKE_SYSTEM_PATH», «CMAKE_FIND_USE_PACKAGE_ROOT_PATH», «CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH» och «CMAKE_FIND_USE_PACKAGE_REGISTRY».
  • I kommandot «file()» har lĂ€get «file(GET_RUNTIME_DEPENDENCIES)» lagts till, vilket möjliggör rekursiv extraktion av listan över bibliotek som anvĂ€nds vid dynamisk lĂ€nkning av en körbar fil eller ett bibliotek. Detta lĂ€ge har ersatt kommandot GetPrerequisites(), som nu Ă€r förĂ„ldrat.
    I kommandot «ctest(1)» har möjlighet till serialisering av tester implementerats, baserad pÄ resurserna som krÀvs för varje test.
    Variabeln «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» har förklarats som förÄldrad och bör ersÀttas med «CMAKE_FIND_USE_PACKAGE_REGISTRY».
  • Kommandot «file()» har fĂ„tt lĂ€get «file(GET_RUNTIME_DEPENDENCIES)», som möjliggör rekursiv extraktion av listan över bibliotek som anvĂ€nds vid dynamisk lĂ€nkning av exekverbara filer eller bibliotek. Detta lĂ€ge har ersatt kommandot GetPrerequisites(), som nu Ă€r förĂ„ldrat.
  • I kommandot «ctest(1)» har möjligheten till serialisering av tester implementerats, baserat pĂ„ de resurser som krĂ€vs för varje test.
  • Variabeln «CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY» har blivit förĂ„ldrad, och istĂ€llet bör «CMAKE_FIND_USE_PACKAGE_REGISTRY» anvĂ€ndas.
  • FörbĂ€ttrat stöd för AIX-plattformen. NĂ€r egenskapen "ENABLE_EXPORTS" anvĂ€nds, skapas förutom körbar fil, Ă€ven en importfil för lĂ€nkaren som sparas med filĂ€ndelsen ".imp". I plugins som skapas med anropet "add_library()" med alternativet "MODULE", kan denna fil anvĂ€ndas vid lĂ€nkning med kommandot "target_link_libraries()". Runtime-lĂ€nkning i AIX Ă€r som standard inaktiverat, eftersom CMake nu tillhandahĂ„ller all nödvĂ€ndig information om symboler för lĂ€nkning vid inlĂ€sning. För att anvĂ€nda runtime-lĂ€nkning av dynamiska bibliotek eller laddade moduler mĂ„ste alternativen "-Wl,-G" anges i listorna över lĂ€nkars flaggor som definieras genom variablerna "CMAKE_SHARED_LINKER_FLAGS" och "CMAKE_MODULE_LINKER_FLAGS".

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster