CMake 3.23 рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдордЪреЗ рдкреНрд░рдХрд╛рд╢рди

рд╕рд╛рджрд░ рдЖрд╣реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдУрдкрди рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдирд░реЗрдЯрд░ CMake 3.23, рдЬреЗ Autotools рд▓рд╛ рдкрд░реНрдпрд╛рдп рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреЗ рдЖрдгрд┐ KDE, LLVM/Clang, MySQL, MariaDB, ReactOS рдЖрдгрд┐ рдмреНрд▓реЗрдВрдбрд░ рд╕рд╛рд░рдЦреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. CMake рдХреЛрдб C++ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ BSD рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

CMake рдПрдХ рд╕реЛрдкреА рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛, рдореЙрдбреНрдпреВрд▓реНрд╕рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ, рдХреЕрд╢рд┐рдВрдЧ рд╕рдорд░реНрдерди, рдХреНрд░реЙрд╕-рдХрдВрдкрд┐рд▓реЗрд╢рдирд╕рд╛рдареА рд╕рд╛рдзрдирд╛рдВрдЪреА рдЙрдкрд╕реНрдерд┐рддреА, рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдЖрдгрд┐ рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕рдЪреНрдпрд╛ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реЗрдгреАрд╕рд╛рдареА рдмрд┐рд▓реНрдб рдлрд╛рдЗрд▓реНрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди, ctest рдЖрдгрд┐ cpack рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЖрд╣реЗ. рдЪрд╛рдЪрдгреА рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдЖрдгрд┐ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдкреЕрдХреЗрдЬреЗрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрдгрд┐ рдмрд┐рд▓реНрдб рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╛рдареА cmake рдпреБрдЯрд┐рд▓рд┐рдЯреА -gui.

рдкреНрд░рдореБрдЦ рд╕реБрдзрд╛рд░рдгрд╛:

  • рдПрдХ рдкрд░реНрдпрд╛рдпреА "рд╕рдорд╛рд╡рд┐рд╖реНрдЯ" рдлреАрд▓реНрдб "рд╕реАрдореЗрдХ-рдкреНрд░реАрд╕реЗрдЯ" рдлрд╛рдпрд▓реАрдВрдордзреНрдпреЗ рдЬреЛрдбрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреБрдореНрд╣реА рдЗрддрд░ рдлрд╛рдпрд▓реАрдВрдордзреАрд▓ рд╕рд╛рдордЧреНрд░реА рдмрджрд▓реВ рд╢рдХрддрд╛.
  • рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕реНрдЯреБрдбрд┐рдУ 2019 рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрдирд░реЗрдЯрд░ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛ рдЖрддрд╛ C# рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╕рд╛рдареА .NET SDK csproj рдлрд╛рдЗрд▓реНрд╕рдирд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛рдд.
  • LLVM рд╡рд░ рдЖрдзрд╛рд░рд┐рдд, IBM Open XL C/C++ рдХрдВрдкрд╛рдЗрд▓рд░рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ IBMClang рдЕрдВрддрд░реНрдЧрдд рдХрдВрдкрд╛рдЗрд▓рд░ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ.
  • MCST LCC рдХрдВрдкрд╛рдЗрд▓рд░рд╕рд╛рдареА (Elbrus рдЖрдгрд┐ SPARC (MCST-R) рдкреНрд░реЛрд╕реЗрд╕рд░рд╕рд╛рдареА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реЗ) рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. рдХрдВрдкрд╛рдЗрд▓рд░ рдПрд▓рд╕реАрд╕реА рдЖрдпрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ рдЕрдВрддрд░реНрдЧрдд рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ.
  • "install(TARGETS)" рдХрдорд╛рдВрдб, "FILE_SET" рдордзреНрдпреЗ рдПрдХ рдирд╡реАрди рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреЛ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реНрд╕рдЪрд╛ рд╕рдВрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
  • тАЬFILE_SETтАЭ рдореЛрдб тАЬtarget_sources()тАЭ рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдЬреЛрдбрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЬреНрдпрд╛рджреНрд╡рд╛рд░реЗ рддреБрдореНрд╣реА рдХреЛрдбрд╕рд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдлрд╛рдЗрд▓реНрд╕рдЪрд╛ рд╕рдВрдЪ рдЬреЛрдбреВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реНрд╕.
  • CUDA рдЯреВрд▓рдХрд┐рдЯ 7.0+ рд╕рд╛рдареА "CMAKE_CUDA_ARCHITECTURES" рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рдЖрдгрд┐ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЧреБрдгрдзрд░реНрдо "CUDA_ARCHITECTURES" рд╕рд╛рдареА "рд╕рд░реНрд╡" рдЖрдгрд┐ "рд╕рд░реНрд╡-рдореБрдЦреНрдп" рдореВрд▓реНрдпрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛