Kuburitswa kweCMake 3.16 kuvaka system

Introduced kuburitswa kwemuchinjiko-chikuva chakavhurika kuvaka script jenareta CMake 3.16, iyo inoshanda seimwe nzira kune Autotools uye inoshandiswa mumapurojekiti akadai seKDE, LLVM/Clang, MySQL, MariaDB, ReactOS uye Blender. Iyo CMake kodhi yakanyorwa muC ++ uye yakagoverwa pasi peiyo BSD rezinesi.

CMake inozivikanwa nekupa mutauro wakareruka wekunyora, nzira yekuwedzera mashandiro kuburikidza nemamodule, huwandu hushoma hwekutsamira (hapana kusunga kuM4, Perl kana Python), caching rutsigiro, kuvapo kwezvishandiso zvekuyambuka-kuunganidza, tsigiro yekugadzira kuvaka. mafaira emhando dzakasiyana-siyana dzekuvaka masisitimu uye compilers, kuvapo ctest uye cpack zvishandiso zvekutsanangura bvunzo zvinyorwa uye mapakeji ekuvaka, cmake-gui utility yekudyidzana kuseta kuvaka paramita.

chikuru kuvandudzika:

  • Yakawedzerwa rutsigiro rweObjective C (β€œOBJC”) uye Objective mitauro
    C++ ("OBJCXX"), iyo inogona kugoneswa kuburikidza neprojekti() uye inogonesa_language() mirairo, mushure meiyo kodhi iri mu ".m" ".mm" mafaera ichaunganidzwa seObjective C uye Objective C++ kodhi, kwete sekuti C++, sezvazvaiva kare;

  • Yakawedzera rutsigiro rweClang compiler paSolaris papuratifomu;
  • Yakawedzera mitsva yekuraira sarudzo: "cmake -E true|false" kudhinda makodhi ekudzoka 0 uye 1; "cmake --trace-redirect = "kudzosera ruzivo rwekutsvaga kufaira panzvimbo
    "stderr"; murairo we "cmake --loglevel" wapiwa zita rekuti "--log-level" kuti uenderane nemazita emimwe mirairo;

  • Yakawedzera iyo "target_precompile_headers()" kuraira kunyora runyoro rwemusoro mafaera anoshandiswa panguva yekugadzirira (inoderedza nguva yekuvaka);
  • Yakawedzera "UNITY_BUILD" pfuma, iyo inomutsa iyo batch modhi yekugadzirisa mafaera epamhepo mumajenareta kuti ikurumidze kuvaka;
  • Yakawedzerwa mirairo "tsvaga_faira ()", "tsvaga_library ()", "tsvaga_nzira ()",
    "find_package()" uye "find_program()" kutsvaga mafaera, maraibhurari, makwara, mapakeji uye zvinotemerwa zvinoenderana nezvinosiyana zvinotsanangura nzira dzekutsvaga dzemhando dzakasiyana dzemafaira.
    Zvikamu zve "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_CMREGIST_ENVI" zvakashandiswa uye "CMAKE_FIND_USE_SYSTEM_CMREGIST_ENVI" dzora nzira dzekutsvaga RY";

  • Yakawedzera iyo "faira(GET_RUNTIME_DEPENDENCIES)" modhi kune "faira ()" murairo, iyo inokutendera iwe kuti udzokorore kudzoreredza rondedzero yemaraibhurari anoshandiswa paunenge uchibatanidza zvine simba faira rinogoneka kana raibhurari. Iyo modhi yakatsiva iyo GetPrerequisites () kuraira, iyo yave kurerutswa;
  • Murairo we "ctest(1)" unoisa kugona kuenzanisa bvunzo zvichienderana nezviwanikwa zvinodiwa pabvunzo yega yega;
  • Musiyano we "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" waraswa basa uye unofanira kutsiviwa ne"CMAKE_FIND_USE_PACKAGE_REGISTRY";
  • Yakavandudzwa AIX papuratifomu rutsigiro. Paunenge uchishandisa "ENABLE_EXPORTS" pfuma, kuwedzera kune faira inoshandiswa, faira yekutumira ye linker ikozvino yagadzirwa, yakachengetedzwa ne ".imp" extension. Mumaplugins akagadzirwa nekudaidza "add_library()" ne "MODULE" sarudzo, faira iri rinogona kushandiswa paunenge uchibatanidza uchishandisa "target_link_libraries()" command. Runtime yekubatanidza paAIX inovharwa nekusarudzika nekuti CMake ikozvino inopa ruzivo rwese rwunodiwa rwechiratidzo chekubatanidza panguva yekuremerwa. Kuti ushandise runtime linking yemaraibhurari ane simba kana mamodules anotakurika, unofanira kunyatsotsanangura sarudzo β€œ-Wl, -G” muzvinyorwa zvemalinker ekutanga mamureza, anotsanangurwa kuburikidza ne β€œCMAKE_SHARED_LINKER_FLAGS” uye β€œCMAKE_MODULE_LINKER_FLAGS”.

Source: opennet.ru

Voeg