Kutulutsidwa kwa CMake 3.15 build system

chinachitika kutulutsidwa kwa jenereta yotsegulira script yotsegulira nsanja Mpweya 3.15, yomwe imakhala ngati njira ina ya Autotools ndipo imagwiritsidwa ntchito m'mapulojekiti monga KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ndi Blender. Khodi ya CMake imalembedwa mu C ++ ndikugawidwa pansi pa layisensi ya BSD.

CMake ndiwodziwikiratu popereka chilankhulo chosavuta cholembera, njira yowonjezerera magwiridwe antchito kudzera m'ma module, kudalira pang'ono (palibe chomangirira ku M4, Perl kapena Python), chithandizo cha caching, kupezeka kwa zida zophatikizira, kuthandizira popanga zomangamanga. mafayilo amitundu yosiyanasiyana yomangira ndi ma compilers, kupezeka kwa ctest ndi cpack zofunikira pofotokozera zolemba zoyeserera ndi phukusi lomanga, cmake-gui utility pakukhazikitsa magawo omangika molumikizana.

waukulu kuwongolera:

  • Thandizo loyambirira la chilankhulo chawonjezedwa ku jenereta ya Ninja-based build script Swift, yopangidwa ndi Apple;
  • Thandizo lowonjezera la mtundu wa Clang compiler ya Windows yomwe imamanga ndi MSVC ABI, koma imagwiritsa ntchito njira za mzere wa malamulo a GNU;
  • Anawonjeza CMAKE_MSVC_RUNTIME_LIBRARY ndi MSVC_RUNTIME_LIBRARY kuti musankhe malaibulale omwe akugwiritsidwa ntchito ndi ophatikiza kutengera MSVC ABI (MS Visual Studio);
  • Kwa ophatikiza monga MSVC, CMAKE__FLAGS mwachisawawa imasiya kutchula mbendera zowongolera monga "/W3";
  • Onjezani mawu a jenereta "COMPILE_LANG_AND_ID:" kutanthauzira zosankha zophatikiza za mafayilo omwe mukufuna, pogwiritsa ntchito CMAKE__COMPILER_ID ndi LANGUAGE zosintha pafayilo iliyonse;
  • M'mawu a jenereta C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID ndi PLATFORM_ID anawonjezera chothandizira kufananiza mtengo umodzi pamndandanda womwe zinthu zake zimasiyanitsidwa ndi koma;

  • Zosintha zowonjezera CMAKE_FIND_PACKAGE_PREFER_CONFIG kotero kuti kuyimba find_package() kufufuze fayilo yosinthira phukusi kaye, ngakhale wopeza akupezeka;
  • Pamalaibulale olumikizirana, thandizo lawonjezedwa pakukhazikitsa PUBLIC_HEADER ndi PRIVATE_HEADER, momwe mitu ingakhazikitsidwe pogwiritsa ntchito lamulo la install(TARGETS) podutsa mfundo za PUBLIC_HEADER ndi PRIVATE_HEADER;
  • Onjezani CMAKE_VS_JUST_MY_CODE_DEBUGGING zosinthika ndi zomwe mukufuna VS_JUST_MY_CODE_DEBUGGING kuti mutsegule "Mode My Code" mu Visual Studio debugger popanga kugwiritsa ntchito MSVC cl 19.05 ndi mitundu yatsopano;
  • Gawo la FindBoost lakonzedwanso, lomwe tsopano limagwira ntchito mokwanira mumitundu ya Config ndi Module pamaso pa ma module ena osaka;
  • Lamulo la message() tsopano limathandizira mitundu ya NOTICE, VERBOSE,
    DEBUG ndi TRACE;

  • Lamulo la "export(PACKAGE)" tsopano silichita kalikonse pokhapokha litayatsidwa mwachindunji kudzera pamitundu ya CMAKE_EXPORT_PACKAGE_REGISTRY.

Source: opennet.ru

Kuwonjezera ndemanga