Te tukunga o te punaha hanga CMake 3.15

i tupu te tukunga o te papa-tuwhera-tuwhera te kaiwhakaputa tuhinga tuhi CMake 3.15, e mahi ana hei rereke ki Autotools ka whakamahia i roto i nga kaupapa penei i te KDE, LLVM/Clang, MySQL, MariaDB, ReactOS me Blender. Ko te waehere CMake kua tuhia ki C ++ ka tohatohahia i raro i te raihana BSD.

He mea rongonui a CMake mo te whakarato i te reo tuhi ngawari, he huarahi ki te whakawhānui i nga mahi ma roto i nga waahanga, he iti noa nga whakawhirinakitanga (kaore he here ki te M4, Perl, Python ranei), te tautoko keteroki, te aroaro o nga taputapu mo te whakahiato-whakawhitiwhiti, tautoko mo te hanga hanga. nga konae mo te whanuitanga o nga punaha hanga me nga kaitoi, nga taputapu ctest me te cpack mo te tautuhi i nga tuhinga whakamatautau me nga kohinga hangahanga, taputapu cmake-gui mo te tauwhitiwhiti i nga tawhā hanga.

Main whakapainga:

  • Kua taapirihia te tautoko reo tuatahi ki te kaihanga tuhinga hanga-Ninja Swift, i whakawhanakehia e Apple;
  • He tautoko taapiri mo te rereke o te Clang compiler mo Windows e hanga ana me te MSVC ABI, engari e whakamahi ana i nga whiringa raina whakahau-GNU;
  • Kua taapirihia nga taurangi CMAKE_MSVC_RUNTIME_LIBRARY me MSVC_RUNTIME_LIBRARY ki te whiriwhiri i nga whare pukapuka wa whakahaere e whakamahia ana e te hunga whakahiato i runga i te MSVC ABI (MS Visual Studio);
  • Mo te hunga whakahiato penei i te MSVC, CMAKE__FLAGS ma te taunoa ka mutu te whakararangi i nga haki mana whakatupato penei "/W3";
  • I taapirihia he kupu whakaputa "COMPILE_LANG_AND_ID:" hei tautuhi i nga whiringa kaitoi mo nga konae e whaaia ana, ma te whakamahi i nga taurangi CMAKE__COMPILER_ID me REO mo ia konae waehere;
  • I roto i nga kupu whakaputa C_COMPILER_ID, CXX_COMPILER_ID,
    CUDA_COMPILER_ID, Fortran_COMPILER_ID, COMPILE_LANGUAGE,
    COMPILE_LANG_AND_ID me PLATFORM_ID i taapiri tautoko mo te whakaorite i te uara kotahi ki te rarangi kua wehea nga huānga ki te piko;

  • Kua taapirihia te taurangi CMAKE_FIND_PACKAGE_PREFER_CONFIG kia waea atu ki te find_package() ka rapu i te konae whirihoranga o te kete i te tuatahi, ahakoa kei te waatea he kairapu;
  • Mo nga whare pukapuka atanga, kua taapirihia he tautoko mo te whakatakoto i nga taonga PUBLIC_HEADER me PRIVATE_HEADER, e taea ai te whakarite pane ma te whakamahi i te tono whakauru(TARGETS) ma te tuku i nga tohenga PUBLIC_HEADER me PRIVATE_HEADER;
  • Kua taapirihia te taurangi CMAKE_VS_JUST_MY_CODE_DEBUGGING me te taonga whaainga VS_JUST_MY_CODE_DEBUGGING kia taea ai te aratau "Taku Waehere Tika" i roto i te patuiro Visual Studio i te wa e whakahiato ana ma te whakamahi i te MSVC cl 19.05 me nga putanga hou ake;
  • Kua hoahoatia ano te waahanga FindBoost, kua kaha ake te mahi i naianei i roto i nga momo Config and Module i te aroaro o etahi atu waahanga rapu;
  • Kei te tautoko te tono karere() i nga momo NOTICE, VERBOSE,
    DEBUG me TRACE;

  • Ko te tono "Kaweake(PACKAGE)" kaore he mahi i naianei ki te kore e taea te mahi ma te taurangi CMAKE_EXPORT_PACKAGE_REGISTRY.

Source: opennet.ru

Tāpiri i te kōrero