Mwepụta nke sistemụ nrụpụta CMake 3.16

Ewebata ntọhapụ nke cross-ikpo okwu oghe wuo script generator Nkume 3.16, nke na-eme dị ka ihe ọzọ na Autotools na-eji na oru ndị dị ka KDE, LLVM/Clang, MySQL, MariaDB, ReactOS na Blender. Edere koodu CMake na C++ wee kesaa n'okpuru ikikere BSD.

CMake bụ ihe a ma ama maka ịnye asụsụ scripting dị mfe, ụzọ isi gbasaa ọrụ site na modul, ntakịrị ihe ndabere (enweghị njikọ M4, Perl ma ọ bụ Python), nkwado caching, ọnụnọ nke ngwaọrụ maka mkpokọta obe, nkwado maka ịmepụta ihe owuwu. faịlụ maka ọtụtụ usoro iwu ụlọ na ndị na-achịkọta ihe, ọnụnọ ctest na cpack utilities maka ịkọwapụta edemede ule na ngwugwu ụlọ, cmake-gui utility for interactively settings build parameters.

Main ndozi:

  • Nkwado agbakwunyere maka ebumnuche C ("OBJC") na asụsụ ebumnuche
    C ++ ("OBJCXX"), nke enwere ike ịme ya site na ọrụ () na ikike_language () iwu, mgbe nke a gasịrị koodu dị na faịlụ ".m" ".mm" ga-achịkọta dị ka Objective C na Objective C ++ code, kama ịbụ dị ka koodu. C++, dị ka ọ dị na mbụ;

  • Nkwado agbakwunyere maka nchịkọta Clang na ikpo okwu Solaris;
  • agbakwunyere nhọrọ ahịrị iwu ọhụrụ: “cmake -E true|ụgha” ka ibipụta koodu nloghachi 0 na 1; "cmake --trace-redirect=" iji bugharịa ozi traktị gaa na faịlụ kama
    "Stderr"; iwu "cmake --loglevel" ka ahagharịrị ka ọ bụrụ "-log-level" iji weta ya n'aha nke iwu ndị ọzọ;

  • Agbakwunyere iwu "target_precompile_headers()" iji depụta ndepụta faịlụ nkụnye eji isi mee n'oge nhazi (na-ebelata oge nrụpụta);
  • Agbakwunyere akụrụngwa "UNITY_BUILD", nke na-eme ka ọnọdụ batch rụọ ọrụ maka ịhazi faịlụ isi mmalite n'ime igwe ọkụ iji mee ka ihe owuwu ahụ dị ngwa;
  • Iwu agbakwunyere "find_file()", " chọta ụlọ akwụkwọ ()", " chọta ụzọ ()",
    "find_package()" na "find_program()" ka ịchọọ faịlụ, ọba akwụkwọ, ụzọ, ngwugwu na executable dị ka mgbanwe na-akọwa ụzọ ọchụchọ maka ụdị faịlụ dị iche iche.
    Ndị na-agbanwe agbanwe "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_USPACK" na a na-eji chịkwaa isi ụzọ ọchụchọ RY";

  • Agbakwunyere ọnọdụ “faịlụ(GET_RUNTIME_DEPENDENCIES)” na iwu “faịlụ()” nke na-enye gị ohere iweghachite ndepụta nke ọba akwụkwọ ndị ejiri mgbe ị na-ejikọ faịlụ ma ọ bụ ọba akwụkwọ arụrụ arụ. Ụdị ahụ dochie iwu GetPrerequisites(), nke emebiela ugbu a;
  • Iwu “ctest(1)” na-emejuputa ikike ịhazi ule dabere na akụrụngwa achọrọ maka ule ọ bụla;
  • Akwụsịla mgbanwe "CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY" ma were "CMAKE_FIND_USE_PACKAGE_REGISTRY" dochie ya;
  • Nkwado ikpo okwu AIX emelitere. Mgbe ị na-eji akụrụngwa "ENABLE_EXPORTS", na mgbakwunye na faịlụ a na-arụ ọrụ, a na-emepụta faịlụ mbubata maka njikọ ugbu a, echekwara ya na ndọtị ".imp". Na plugins emepụtara site na ịkpọ "add_library()" na nhọrọ "MODULE", enwere ike iji faịlụ a mgbe ị na-ejikọta site na iji iwu "target_link_libraries()". Akwụsịghị ijikọ oge ịgba ọsọ na AIX na ndabara n'ihi na CMake na-enye ozi akara ngosi niile dị mkpa maka ijikọ n'oge ibu. Iji jiri njikọ oge nke ọba akwụkwọ dị ike ma ọ bụ modul a na-ebu ibu, ị ga-ezipụta nke ọma nhọrọ "-Wl, -G" na listi ọkọlọtọ mmalite njikọ, akọwapụtara site na mgbanwe "CMAKE_SHARED_LINKER_FLAGS" na "CMAKE_MODULE_LINKER_FLAGS".

isi: opennet.ru

Tinye a comment