Ho lokolloa ha sistimi ea kaho ea CMake 3.15

etsahetse ho lokolloa ha jenereithara e bulehileng ea mongolo oa sefapano CMake 3.15, e sebetsang e le mokhoa o mong oa Autotools mme e sebelisoa mererong e kang KDE, LLVM/Clang, MySQL, MariaDB, ReactOS le Blender. Khoutu ea CMake e ngotsoe ka C++ 'me e ajoa tlas'a laesense ea BSD.

CMake e tsebahala ka ho fana ka puo e bonolo ea ho ngola, mokhoa oa ho atolosa ts'ebetso ka li-module, palo e fokolang ea batho ba itšetlehileng ka eona (ha e tlamehe ho M4, Perl kapa Python), tšehetso ea caching, boteng ba lisebelisoa tsa ho kopanya, tšehetso bakeng sa ho hlahisa mohaho. lifaele bakeng sa mefuta e mengata ea litsamaiso tsa kaho le li-compilers, lisebelisoa tsa boteng ba ctest le cpack bakeng sa ho hlalosa lingoloa tsa liteko le liphutheloana tsa moaho, thuso ea cmake-gui bakeng sa ho seta li-parameter tsa kaho.

ka sehloohong ntlafatso:

  • Tšehetso ea puo ea pele e kenyelelitsoe ho jenereithara ea mongolo oa Ninja-based Swift, e ntlafalitsoeng ke Apple;
  • Ts'ehetso e ekelitsoeng bakeng sa mofuta o fapaneng oa komporo ea Clang bakeng sa Windows e hahang ka MSVC ABI, empa e sebelisa likhetho tsa mela ea taelo ea GNU;
  • E kentse mefuta e fapaneng ea CMAKE_MSVC_RUNTIME_LIBRARY le MSVC_RUNTIME_LIBRARY ho khetha lilaebrari tsa nako ea ho sebetsa tse sebelisoang ke ba bokellang ho latela MSVC ABI (MS Visual Studio);
  • Bakeng sa likhokahanyo tse kang MSVC, CMAKE__FLAGS ka mokhoa o ikhethileng e emisa ho thathamisa lifolakha tsa taolo ea temoso joalo ka "/W3";
  • E kentse polelo ea jenereithara "COMPILE_LANG_AND_ID:" ho hlalosa likhetho tsa mokopanyi bakeng sa lifaele tseo u li batlang, ho sebelisoa CMAKE__COMPILER_ID le LANGUAGE tse fapaneng bakeng sa faele ka 'ngoe ea khoutu;
  • Mantsoeng a jenereithara C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID le PLATFORM_ID ba kentse tšehetso bakeng sa ho bapisa boleng bo le bong lethathamong leo likarolo tsa lona li arohantsoeng ka likoma;

  • Phapang e kentsoeng CMAKE_FIND_PACKAGE_PREFER_CONFIG e le hore ho letsetsa find_package() ho tla batla faele ea tlhophiso ea sephutheloana pele, le haeba mofuputsi a le teng;
  • Bakeng sa lilaebrari tsa li-interface, tšehetso e kenyelelitsoe bakeng sa ho hlophisa thepa ea PUBLIC_HEADER le PRIVATE_HEADER, eo lihlooho li ka hlophisoang ka ho sebelisa taelo ea instola(TARGETS) ka ho fetisa likhang tsa PUBLIC_HEADER le PRIVATE_HEADER;
  • E kentse CMAKE_VS_JUST_MY_CODE_DEBUGGING thepa e feto-fetohang le sepheo sa VS_JUST_MY_CODE_DEBUGGING ho thusa "Just My Code" mokhoa oa Visual Studio debugger ha o hlophisa ho sebelisa MSVC cl 19.05 le mefuta e mecha;
  • Mojule oa FindBoost o hlophisitsoe bocha, oo hona joale o sebetsang ka botlalo ho mekhoa ea Config le ea Module moo ho nang le li-module tse ling tsa ho batla;
  • Taelo ea molaetsa() joale e ts'ehetsa mefuta TSEBISO, VERBOSE,
    DEBUG le TRACE;

  • Taelo ea "export(PACKAGE)" hajoale ha e etse letho ntle le haeba e lumelletsoe ka mokhoa o hlakileng ka CMAKE_EXPORT_PACKAGE_REGISTRY.

Source: opennet.ru

Eketsa ka tlhaloso