ho lokolloa ha jenereithara e bulehileng ea mongolo oa sefapano , e sebetsang e le mokhoa o mong oa Autotools mme e sebelisoa mererong e kang KDE, LLVM/Clang, MySQL, MariaDB, ReactOS le Blender. Khoutu ea CMake e ngotsoe ka C++ 'me e ajoa tlas'a laesense ea BSD.
CMake e tsebahala ka ho fana ka puo e bonolo ea ho ngola, mokhoa oa ho atolosa ts'ebetso ka li-module, palo e fokolang ea batho ba itšetlehileng ka eona (ha e tlamehe ho M4, Perl kapa Python), tšehetso ea caching, boteng ba lisebelisoa tsa ho kopanya, tšehetso bakeng sa ho hlahisa mohaho. lifaele bakeng sa mefuta e mengata ea litsamaiso tsa kaho le li-compilers, lisebelisoa tsa boteng ba ctest le cpack bakeng sa ho hlalosa lingoloa tsa liteko le liphutheloana tsa moaho, thuso ea cmake-gui bakeng sa ho seta li-parameter tsa kaho.
ka sehloohong :
- Tšehetso e ekelitsoeng bakeng sa Objective C ("OBJC") le lipuo tsa Sepheo
C++ ("OBJCXX"), e ka sebelisoang ka morero () le ho nolofalletsa_language() litaelo, ka mor'a moo khoutu ea ".m" ".mm" e tla hlophisoa e le Objective C le Objective C++ code, eseng ka khoutu ea C++, joalokaha ho ne ho le joalo pele; - Tšehetso e ekelitsoeng bakeng sa moqapi oa Clang sethaleng sa Solaris;
- E kentse likhetho tse ncha tsa mola oa taelo: "cmake -E true|false" ho hatisa likhoutu tsa ho khutla 0 le 1; "cmake --trace-redirect=" ho tsamaisa tlhahisoleseling hape faeleng, sebakeng sa
"stderr"; Taelo ya "cmake --loglevel" e fetotswe lebitso la "--log-level" hore e tsamaellane le ho reha mabitso a ditaelo tse ding; - E kenyellelitse "target_precompile_headers()" taelo ea ho thathamisa lifaele tsa lihlooho tse sebelisitsoeng nakong ea pele (ho fokotsa nako ea ho haha);
- E kentse thepa ea "UNITY_BUILD", e kenyang mokhoa oa batch oa ho sebetsana le lifaele tsa mohloli ka lijenereithara ho potlakisa mohaho;
- Litaelo tse kentsoeng "find_file()", "find_library()", "find_path()", "find_library()
"find_package()" le "find_program()" ho batla lifaele, lilaebrari, litsela, liphutheloana, le li-executable ho latela mefuta-futa e hlalosang litsela tsa ho batla lihlopha tse fapaneng tsa lifaele.
Mefuta e fapaneng "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_ENVI", le "CMAKE_FIND_USE_PACKAGE_REGISTRY" e sebelisoa ho laola litsela tsa ho batla; - Taelo ea "file()" e nchafalitsoe ho kenyelletsa "file(GET_RUNTIME_DEPENDENCIES)" mode, e lumellang ho khutlisa lethathamo la lilaebrari tse sebelisitsoeng ha ho hokela faele kapa laeborari e sebetsang. Mokhoa ona o nka sebaka sa taelo ea GetPrerequisites() e seng e sa sebetse.
- Taelo ea "ctest(1)" e sebelisa bokhoni ba ho etsa liteko ho latela lisebelisoa tse hlokahalang bakeng sa tlhahlobo ka 'ngoe;
- Mofuta o mong oa 'CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY' ha o sa sebetsa 'me o lokela ho sebelisa 'CMAKE_FIND_USE_PACKAGE_REGISTRY';
- Tšehetso bakeng sa sethala sa AIX se ntlafalitsoe. Ha u sebelisa thepa ea "ENABLE_EXPORTS", ho phaella ho faele e sebetsang, faele ea ho kenya bakeng sa sehokelo e se e hlahisoa, e bolokiloe ka ".imp" extension. Ho li-plugins tse entsoeng ka ho letsetsa "add_library()" ka khetho ea "MODULE", faele ena e ka sebelisoa ha e hokela ho sebelisa taelo ea "target_link_libraries()". Khokahano ea nako ea Runtime e emisitsoe ka ho sa feleng ho AIX, kaha CMake joale e fana ka tlhaiso-leseling e hlokahalang ea matšoao bakeng sa ho hokahanya ka nako ea mojaro. Ho lumella likhokahano tsa nako ea ho sebetsa ea lilaebrari tse matla kapa likarolo tse ka belehang, hlakisa ka ho hlaka "-Wl, -G" lethathamong la lifolakha tsa li-linker tse hlalositsoeng ka "CMAKE_SHARED_LINKER_FLAGS" le "CMAKE_MODULE_LINKER_FLAGS".
Source: opennet.ru
