Tso tawm ntawm CMake 3.16 tsim qhov system

Xa los ntawm tso tawm ib tug ntoo khaub lig-platform qhib tsim tsab ntawv generator Cawv 3.16, uas ua raws li lwm txoj hauv kev Autotools thiab siv hauv cov haujlwm xws li KDE, LLVM/Clang, MySQL, MariaDB, ReactOS thiab Blender. CMake code yog sau rau hauv C ++ thiab muab faib raws li BSD daim ntawv tso cai.

CMake yog qhov tseem ceeb rau kev muab cov lus sau yooj yim, txhais tau hais tias txuas ntxiv ua haujlwm los ntawm cov qauv, tsawg kawg ntawm cov kev vam khom (tsis muaj kev khi rau M4, Perl lossis Python), kev txhawb nqa caching, muaj cov cuab yeej rau kev sib sau ua ke, kev txhawb nqa rau kev tsim kho. cov ntaub ntawv rau ntau yam kev tsim cov tshuab thiab cov tshuab sau ua ke, qhov muaj ctest thiab cpack cov khoom siv rau kev txhais cov ntawv xeem thiab cov pob tsev, cmake-gui utility rau kev sib tham sib teeb tsa tsis.

ntsiab kev txhim kho:

  • Ntxiv kev txhawb nqa rau Objective C ("OBJC") thiab Objective languages
    C++ ("OBJCXX"), uas tuaj yeem qhib tau los ntawm cov lus txib project() thiab enable_language(), tom qab ntawd cov code hauv cov ntaub ntawv ".m" ".mm" yuav raug muab tso ua objective C thiab Objective C++ code, thiab tsis yog C++ code, zoo li tau ua dhau los;
  • Ntxiv kev txhawb nqa rau Clang compiler ntawm lub platform Solaris;
  • Ntxiv cov kev xaiv kab lus txib tshiab: "cmake -E true | false" los luam cov lej rov qab 0 thiab 1; "cmake --trace-redirect=" los hloov cov ntaub ntawv taug qab mus rau cov ntaub ntawv, es tsis txhob
    "stderr"; Cov lus txib "cmake --loglevel" tau raug hloov npe mus ua "--log-level" kom sib xws nrog kev muab lub npe rau lwm cov lus txib;
  • Ntxiv "target_precompile_headers ()" cov lus txib kom teev cov ntaub ntawv header siv thaum lub sijhawm precompilation (txo lub sijhawm tsim);
  • Ntxiv cov khoom "UNITY_BUILD", uas qhib hom batch ntawm kev ua cov ntaub ntawv hauv cov generators kom ua kom sai dua qhov kev tsim kho;
  • Ntxiv cov lus txib "find_file()", "find_library()", "find_path()",
    "find_package()" thiab "find_program()" los nrhiav cov ntaub ntawv, cov tsev qiv ntawv, txoj kev, cov pob khoom, thiab cov executables raws li cov variables uas txhais cov kev tshawb nrhiav rau ntau pawg ntawm cov ntaub ntawv.
    Cov hloov pauv "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_ENVIRONMENT_PATH", thiab "CMAKE_FIND_USE_PACKAGE_REGISTRY" yog siv los tswj cov kev hauv paus rau kev tshawb nrhiav;
  • Cov lus txib "file()" tau hloov kho kom suav nrog hom "file(GET_RUNTIME_DEPENDENCIES)", uas tso cai rau kev rov qab tau cov npe ntawm cov tsev qiv ntawv siv thaum txuas cov ntaub ntawv lossis tsev qiv ntawv dynamically. Hom no hloov cov lus txib GetPrerequisites() uas tam sim no tsis siv lawm.
  • Cov lus txib "ctest (1)" siv lub peev xwm los ua cov kev xeem raws li cov peev txheej xav tau rau txhua qhov kev xeem;
  • Cov variable 'CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY' tau raug tshem tawm lawm thiab yuav tsum siv 'CMAKE_FIND_USE_PACKAGE_REGISTRY' hloov chaw;
  • Kev txhawb nqa rau lub platform AIX tau zoo dua. Thaum siv cov cuab yeej "ENABLE_EXPORTS", ntxiv rau cov ntaub ntawv executable, cov ntaub ntawv import rau tus linker tam sim no tau tsim, txuag nrog ".imp" extension. Hauv plugins tsim los ntawm kev hu rau "add_library()" nrog rau qhov kev xaiv "MODULE", cov ntaub ntawv no tuaj yeem siv thaum txuas siv cov lus txib "target_link_libraries()". Kev sib txuas Runtime raug kaw los ntawm lub neej ntawd ntawm AIX, txij li CMake tam sim no muab tag nrho cov ntaub ntawv cim tsim nyog rau kev sib txuas thaum lub sijhawm thauj khoom. Txhawm rau kom muaj kev sib txuas runtime ntawm cov tsev qiv ntawv dynamic lossis cov modules loadable, qhia meej meej cov kev xaiv "-Wl, -G" hauv cov npe ntawm cov chij khiav linker txhais los ntawm cov hloov pauv "CMAKE_SHARED_LINKER_FLAGS" thiab "CMAKE_MODULE_LINKER_FLAGS".

Tau qhov twg los: opennet.ru

Yuav txhim khu kev qha hosting rau cov chaw nrog DDoS tiv thaiv, VPS VDS servers 🔥 Yuav lub vev xaib hosting txhim khu kev qha nrog kev tiv thaiv DDoS, VPS VDS servers | ProHoster