CMake 3.18 เดฌเดฟเตฝเดกเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดพเดถเดจเด‚

เดธเดฎเตผเดชเตเดชเดฟเดšเตเดšเดคเต เด’เดฐเต เด•เตเดฐเต‹เดธเต-เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เด“เดชเตเดชเตบ เดฌเดฟเตฝเดกเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เดฑเดฟเดฒเต€เดธเต CMake 3.18, เด“เดŸเตเดŸเต‹เดŸเต‚เดณเตเด•เตพเด•เตเด•เต เดฌเดฆเดฒเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เต†เดกเดฟเด‡, LLVM/Clang, MySQL, MariaDB, ReactOS, Blender เดคเตเดŸเด™เตเด™เดฟเดฏ เดชเตเดฐเต‹เดœเด•เตเดŸเตเด•เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. CMake เด•เต‹เดกเต C++ เตฝ เดŽเดดเตเดคเตเด•เดฏเตเด‚ BSD เดฒเตˆเดธเตปเดธเดฟเดจเต เด•เต€เดดเดฟเตฝ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเด‚เด—เต เดญเดพเดท, เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ เดตเดดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเดพเตผเด—เตเด—เด‚, เด•เตเดฑเดžเตเดž เดŽเดฃเตเดฃเด‚ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ (M4, Perl เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Python เดŽเดจเตเดจเดฟเดตเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฎเดฟเดฒเตเดฒ), เด•เดพเดทเดฟเด‚เด—เต เดชเดฟเดจเตเดคเตเดฃ, เด•เตเดฐเต‹เดธเต-เด•เด‚เดชเตˆเดฒเต‡เดทเดจเตเดณเตเดณ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเดŸเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚, เดฌเดฟเตฝเดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดŽเดจเตเดจเดฟเดต เดจเตฝเด•เตเดจเตเดจเดคเดฟเตฝ CMake เดถเตเดฐเดฆเตเดงเต‡เดฏเดฎเดพเดฃเต. เดตเดฟเดถเดพเดฒเดฎเดพเดฏ เดฌเดฟเตฝเดกเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเด‚ เด•เดฎเตเดชเตˆเดฒเดฑเตเด•เตพเด•เตเด•เตเดฎเตเดณเตเดณ เดซเดฏเดฒเตเด•เตพ, เดŸเต†เดธเตเดฑเตเดฑเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚ ctest, cpack เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ, เดฌเดฟเตฝเดกเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด‡เดจเตเดฑเดฑเดพเด•เตเดŸเต€เดตเต เด†เดฏเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ cmake-gui เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ.

เดชเตเดฐเดงเดพเดจ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ:

  • ะ”ะปั ัะทั‹ะบะฐ CUDA ะพะฑะตัะฟะตั‡ะตะฝะฐ ะฒะพะทะผะพะถะฝะพัั‚ัŒ ัะฑะพั€ะบะธ ะฟั€ะธ ะฟะพะผะพั‰ะธ Clang ะฝะฐ ะฟะปะฐั‚ั„ะพั€ะผะฐั…, ะพั‚ะปะธั‡ะฝั‹ั… ะพั‚ Windows. ะ ะฐะทะดะตะปัŒะฝะฐั ะบะพะผะฟะธะปัั†ะธั CUDA ะฟะพะบะฐ ะฝะต ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ัั ะฝะธ ะฝะฐ ะพะดะฝะพะน ะฟะปะฐั‚ั„ะพั€ะผะต.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฟั€ะพั„ะธะปะธั€ะพะฒะฐะฝะธั ัั†ะตะฝะฐั€ะธะตะฒ CMake, ะธัะฟะพะปัŒะทัƒั ะพะฟั†ะธะธ ยซโ€”profiling-outputยป ะธ ยซโ€”profiling-formatยป.
  • ะ’ ะบะพะผะฐะฝะดั‹ add_library() ะธ add_executable() ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ัะพะทะดะฐะฝะธั ั†ะตะปะตะน-ะฟัะตะฒะดะพะฝะธะผะพะฒ (Alias Targets), ััั‹ะปะฐัŽั‰ะธั…ัั ะฝะฐ ะฝะตะณะปะพะฑะฐะปัŒะฝั‹ะต ะธะผะฟะพั€ั‚ะธั€ะพะฒะฐะฝะฝั‹ะต ั†ะตะปะธ.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ cmake_language() ะดะปั ะผะตั‚ะฐ-ะพะฟะตั€ะฐั†ะธะน ะฝะฐะด ัะบั€ะธะฟั‚ะพะฒะฐะฝะฝั‹ะผะธ ะธะปะธ ะฒัั‚ั€ะพะตะฝะฝั‹ะผะธ ะบะพะผะฐะฝะดะฐะผะธ.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะบะพะผะฐะฝะดะฐ file(CONFIGURE), ะฐะฝะฐะปะพะณะธั‡ะฝะฐั ะฟะพ ั„ัƒะฝะบั†ะธะพะฝะฐะปัŒะฝะพัั‚ะธ ะบะพะผะฐะฝะดะต configure_file(), ะฝะพ ั ะฟะตั€ะตะดะฐั‡ะตะน ัะพะดะตั€ะถะธะผะพะณะพ ะฒ ั„ะพั€ะผะต ัั‚ั€ะพะบะธ, ะฐ ะฝะต ััั‹ะปะบะธ ะฝะฐ ั„ะฐะนะป.
  • ะ’ ะบะพะผะฐะฝะดั‹ find_program(), find_library(), find_path() ะธ find_file() ะดะพะฑะฐะฒะปะตะฝะฐ ะพะฟั†ะธั REQUIRED, ะฟั€ะตะดะฟะธัั‹ะฒะฐัŽั‰ะฐั ะพัั‚ะฐะฝะพะฒะธั‚ัŒ ะพะฑั€ะฐะฑะพั‚ะบัƒ ั ะพัˆะธะฑะบะพะน, ะตัะปะธ ะฝะธั‡ะตะณะพ ะฝะต ะฑั‹ะปะพ ะฝะฐะนะดะตะฝะพ.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะตั€ะตะผะตะฝะฝะฐั ยซCMAKE_CUDA_ARCHITECTURESยป ะดะปั ัƒะบะฐะทะฐะฝะธั ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ CUDA (ัƒัั‚ะฐะฝะฐะฒะปะธะฒะฐะตั‚ัั ะฐะฒั‚ะพะผะฐั‚ะธั‡ะตัะบะธ, ะตัะปะธ ะฟะตั€ะตะผะตะฝะฝะฐั ยซCMAKE_CUDA_COMPILER_IDยป ะฟั€ะธะฝะธะผะฐะตั‚ ะทะฝะฐั‡ะตะฝะธะต ยซNVIDIAยป).
  • ะ”ะพะฑะฐะฒะปะตะฝะพ ัะฒะพะนัั‚ะฒะพ ยซUNITY_BUILD_MODEยป ะดะปั ะฒั‹ะฑะพั€ะฐ ะฒ ะณะตะฝะตั€ะฐั‚ะพั€ะฐั… ะฐะปะณะพั€ะธั‚ะผะฐ ะณั€ัƒะฟะฟะธั€ะพะฒะบะธ ะฒะบะปัŽั‡ะฐะตะผั‹ั… ะธัั…ะพะดะฝั‹ั… ั„ะฐะนะปะพะฒ (BATCH, GROUP).
  • ะ”ะพะฑะฐะฒะปะตะฝ ะผะพะดัƒะปัŒ CheckLinkerFlag ะดะปั ะฟั€ะพะฒะตั€ะบะธ ะบะพั€ั€ะตะบั‚ะฝะพัั‚ะธ ั„ะปะฐะณะพะฒ ะบะพะผะฟะพะฝะพะฒะบะธ.
  • ะ”ะพะฑะฐะฒะปะตะฝั‹ ะฒั‹ั€ะฐะถะตะฝะธั ะณะตะฝะตั€ะฐั‚ะพั€ะฐ $<DEVICE_LINK:โ€ฆ>, $<HOST_LINK:โ€ฆ>, $<LINK_LANGUAGE:โ€ฆ> ะธ $<LINK_LANG_AND_ID:โ€ฆ>.
  • ะ’ ัƒั‚ะธะปะธั‚ัƒ ctest ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะตั€ะตะผะตะฝะฝะฐั CTEST_RESOURCE_SPEC_FILE ะดะปั ัƒะบะฐะทะฐะฝะธั ั„ะฐะนะปะฐ ัะพ ัะฟะตั†ะธั„ะธะบะฐั†ะธะตะน ั€ะตััƒั€ัะพะฒ.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•