leigeil ma sgaoil gineadair sgriobt togail fosgailte tar-à rd-Úrlar , a tha ag obair mar roghainn eile an à ite Autotools agus air a chleachdadh ann am pròiseactan leithid KDE, LLVM / Clang, MySQL, MariaDB, ReactOS agus Blender. Tha an còd CMake sgrÏobhte ann an C ++ agus air a chuairteachadh fo chead BSD.
Tha CMake ainmeil airson a bhith aâ toirt seachad cĂ nan sgrĂŹobhaidh sĂŹmplidh, dòigh air comas-gnĂŹomh a leudachadh tro mhodalan, Ă ireamh as lugha de eisimeileachd (gun cheangal ri M4, Perl no Python), taic tasgadan, lĂ thaireachd innealan airson tar-chruinneachadh, taic airson togail a ghineadh. faidhlichean airson raon farsaing de shiostaman togail agus luchd-cruinneachaidh, an lĂ thaireachd ctest agus goireasan cpack airson sgriobtaichean deuchainn agus pasganan togail a mhĂŹneachadh, goireas cmake-gui airson suidheachadh eadar-ghnĂŹomhach paramadairean togail.
prĂŹomh :
- Taic a bharrachd airson Amas C (âOBJCâ) agus cĂ nanan Amas
C ++ ("OBJCXX"), a ghabhas a chomasachadh tro na h-òrdughan pròiseact () agus enable_language(), às deidh sin cuiridh an còd anns na faidhlichean ".m" ".mm" ri chèile mar chòd Amas C agus Amas C ++, seach mar C ++, mar a bha e roimhe; - Taic a bharrachd don neach-cruinneachaidh Clang air à rd-Úrlar Solaris;
- Chaidh roghainnean loidhne-Ă ithne Ăšr a chur ris: âcmake -E true | mealltaâ gus còdan tilleadh 0 agus 1 a chlò-bhualadh; "cmake --trace-redirect=" gus fiosrachadh lorg ath-stiĂšireadh gu faidhle na Ă ite
"stderr"; chaidh an Ă ithne "cmake --loglevel" ath-ainmeachadh gu " --log-level" gus a thoirt a rèir ainmean nan òrduighean eile; - Chuir sinn ris an Ă ithne âtarget_precompile_headers()â gus liosta de na faidhlichean cinn a chaidh a chleachdadh aig Ă m ro-ullachaidh a liostadh (a âlughdachadh Ăšine togail);
- Chuir sinn ris an togalach âUNITY_BUILDâ, a chuireas an gnĂŹomh am modh baidse airson a bhith aâ giullachd fhaidhlichean stòr ann an gineadairean gus an togail a luathachadh;
- Ărdughan a bharrachd âfind_file()â, âfind_library()â, âfind_path()â,
"find_package()" agus "find_program ()" gus faidhlichean, leabharlannan, slighean, pasganan agus gnÏomhan a lorg a rèir caochladairean a mhÏnicheas slighean sgrÚdaidh airson diofar roinnean de fhaidhlichean.
Tha na caochladairean "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_VONE_SYSTEM" agus G" gan cleachdadh gus smachd a chumail air na slighean rannsachaidh bunaiteach ISTRY"; - Chuir sinn am modh âfile (GET_RUNTIME_DEPENDENCIES)â ris an Ă ithne âfaidhle ()â, a leigeas leat an liosta de leabharlannan a chaidh a chleachdadh nuair a tha thu aâ ceangal faidhle no leabharlann so-ghnĂŹomhaichte a thoirt air ais gu dinamach. Ghabh am modh Ă ite na h-Ă ithne GetPrerequisites (), a tha a-nis air a mholadh;
- Tha an Ă ithne âctest(1)â aâ buileachadh comas air deuchainnean a dhèanamh stèidhichte air na goireasan a tha a dhĂŹth airson gach deuchainn;
- Chan eil cead aig a' chaochladair "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" agus bu chòir "CMAKE_FIND_USE_PACKAGE_REGISTRY" a chur na à ite;
- Taic Ă rd-Ăšrlar AIX nas fheĂ rr. Nuair a bhios tu aâ cleachdadh an t-seilbh âENABLE_EXPORTSâ, a bharrachd air an fhaidhle so-ghnĂŹomhaichte, tha faidhle in-mhalairt airson aâ cheangail a-nis air a chruthachadh, air a shĂ bhaladh leis an leudachadh â.impâ. Ann am plugins a chaidh a chruthachadh le bhith aâ gairm âadd_library()â leis an roghainn âMODULEâ, faodar am faidhle seo a chleachdadh nuair a bhios tu aâ ceangal aâ cleachdadh an Ă ithne âtarget_link_libraries()â. Tha ceangal Ăšine ruith air AIX Ă comas gu bunaiteach oir tha CMake a-nis aâ toirt seachad a h-uile fiosrachadh samhla riatanach airson ceangal aig Ă m luchdaidh. Gus ceangal Ăšine ruith de leabharlannan fiĂšghantach no modalan luchdaichte a chleachdadh, feumaidh tu na roghainnean â-Wl, -Gâ a shònrachadh gu soilleir anns na liostaichean de bhrataichean tòiseachaidh ceangail, air am mĂŹneachadh tro na caochladairean âCMAKE_SHARED_LINKER_FLAGSâ agus âCMAKE_MODULE_LINKER_FLAGSâ.
Source: fosgailtenet.ru
