Qt కంపెనీ
సమీప భవిష్యత్తులో, కమ్యూనిటీ ద్వారా Qbs అభివృద్ధిని కొనసాగించడానికి ఒక స్వతంత్ర ప్రాజెక్ట్ సృష్టించబడుతుందని భావిస్తున్నారు, దీని విధి స్వతంత్ర డెవలపర్ల నుండి ప్రశ్నించిన అసెంబ్లీ వ్యవస్థపై ఆసక్తిపై ఆధారపడి ఉంటుంది. Qbలను ప్రోత్సహించడానికి అదనపు పెట్టుబడి మరియు అధిక ఖర్చుల కారణంగా Qt కంపెనీ Qbsపై పని చేయడం ఆపివేస్తుంది.
ఏదైనా ప్రాజెక్ట్ల అసెంబ్లీని నిర్వహించడానికి Qbs రూపొందించబడినప్పటికీ, Qbsని నిర్మించడానికి, Qt అనేది డిపెండెన్సీగా అవసరమని మనం గుర్తుచేసుకుందాం. Qbs ప్రాజెక్ట్ బిల్డ్ స్క్రిప్ట్లను నిర్వచించడానికి QML భాష యొక్క సరళీకృత సంస్కరణను ఉపయోగిస్తుంది, ఇది బాహ్య మాడ్యూల్లను కనెక్ట్ చేయగల, JavaScript ఫంక్షన్లను ఉపయోగించగల మరియు అనుకూల నిర్మాణ నియమాలను రూపొందించగల చాలా సరళమైన నిర్మాణ నియమాలను నిర్వచించడానికి మిమ్మల్ని అనుమతిస్తుంది.
Qbs మేక్ఫైల్లను రూపొందించదు మరియు కంపైలర్లు మరియు లింకర్ల లాంచ్ను స్వతంత్రంగా నియంత్రిస్తుంది, అన్ని డిపెండెన్సీల వివరణాత్మక గ్రాఫ్ ఆధారంగా నిర్మాణ ప్రక్రియను ఆప్టిమైజ్ చేస్తుంది. ప్రాజెక్ట్లోని నిర్మాణం మరియు డిపెండెన్సీల గురించి ప్రారంభ డేటా ఉనికిని మీరు అనేక థ్రెడ్లలో కార్యకలాపాల అమలును సమర్థవంతంగా సమాంతరంగా చేయడానికి అనుమతిస్తుంది.
Qbs 1.13లో కీలక ఆవిష్కరణలు:
- Qbs మాడ్యూల్స్ కోసం ఉపయోగించే అదే డిపెండెన్సీ ప్రాసెసింగ్ మెకానిజంను ఉపయోగించి ప్రాజెక్ట్లలో pkg-config మాడ్యూల్లను ఉపయోగించగల సామర్థ్యం జోడించబడింది. ఉదాహరణకు, మీ సిస్టమ్లో pkg-config ఆధారంగా OpenSSLని నిర్మించడానికి ఒక ప్యాకేజీ ఉంటే, దానిని Qbs ప్రాజెక్ట్లో ఉపయోగించడానికి, కేవలం 'డిపెండ్స్ {name: "openssl" }'ని జోడించండి;
- అందుబాటులో ఉన్న Qt మాడ్యూల్ల స్వయంచాలక గుర్తింపు అమలు చేయబడింది. డెవలపర్లు ఇకపై setup-qt ఆదేశాన్ని ఉపయోగించి మాడ్యూల్ పాత్లతో ప్రొఫైల్ను సృష్టించాల్సిన అవసరం లేదు; డిపెండెన్సీలలో పేర్కొన్న అన్ని Qt మాడ్యూల్స్ స్వయంచాలకంగా కాన్ఫిగర్ చేయబడతాయి;
- వ్యక్తిగత ఆదేశాల స్థాయిలో సమాంతరంగా నడుస్తున్న అసెంబ్లీ పనుల సంఖ్యను నియంత్రించడానికి సాధనాలు జోడించబడ్డాయి. ఉదాహరణకు, లింకింగ్ పెద్ద I/O లోడ్ను సృష్టిస్తుంది మరియు గణనీయమైన మొత్తంలో RAMను వినియోగిస్తుంది, కాబట్టి లింకర్కు కంపైలర్ కంటే భిన్నమైన ప్రారంభ సెట్టింగ్లు అవసరం. ఇప్పుడు “qbs —job-limits linker:2,compiler:8” ఆదేశాన్ని ఉపయోగించి ప్రత్యేక సెట్టింగ్లను సెట్ చేయవచ్చు;
- స్క్రిప్టింగ్ భాషలో మార్పులు చేయబడ్డాయి. అవుట్పుట్ కోసం స్టబ్ ఫైల్ను పేర్కొనకుండానే ఇప్పుడు నియమాలను నిర్వచించవచ్చు మరియు ప్రాజెక్ట్ ఫైల్ల ప్రారంభంలో “దిగుమతి qbs” డైరెక్టివ్ను ఉపయోగించాల్సిన అవసరం లేదు. ఎక్జిక్యూటబుల్ ఫైల్ల యొక్క మరింత సౌకర్యవంతమైన ఇన్స్టాలేషన్ కోసం అప్లికేషన్, డైనమిక్ లైబ్రరీ మరియు స్టాటిక్ లైబ్రరీ ఎలిమెంట్లకు కొత్త ఇన్స్టాల్ మరియు ఇన్స్టాల్డిర్ లక్షణాలు జోడించబడ్డాయి;
- లింకర్ స్క్రిప్ట్ల పునరావృత స్కానింగ్కు మద్దతు జోడించబడింది
GNU లింకర్; - C++ కోసం, cpp.linkerVariant ప్రాపర్టీ ld.gold, ld.bfd లేదా lld లింకర్ల వినియోగాన్ని బలవంతంగా అమలు చేయడానికి అమలు చేయబడింది;
- Qt పెద్ద Qt వనరులను సృష్టించడం కోసం Qt.core.enableBigResources ఆస్తిని పరిచయం చేసింది
- వాడుకలో లేని AndroidApk మూలకానికి బదులుగా, ఇది సాధారణ అప్లికేషన్ రకాన్ని ఉపయోగించడానికి ప్రతిపాదించబడింది;
- ఆటోటెస్ట్ ఆధారంగా పరీక్షలను రూపొందించడానికి మాడ్యూల్ జోడించబడింది;
- qmakeలో QMAKE_SUBSTITUTES లాంటి సామర్థ్యాలతో టెక్స్ట్టెంప్లేట్ మాడ్యూల్ జోడించబడింది;
- C++ మరియు ఆబ్జెక్టివ్-C కోసం ప్రోటోకాల్ బఫర్స్ ఫార్మాట్కు ప్రారంభ మద్దతు జోడించబడింది.
మూలం: opennet.ru