Издање ЦМаке 3.16 буилд система

Представио издање вишеплатформског генератора отворених скрипти ЦМаке 3.16, који делује као алтернатива Аутотоолс-у и користи се у пројектима као што су КДЕ, ЛЛВМ/Цланг, МиСКЛ, МариаДБ, РеацтОС и Блендер. ЦМаке код је написан у Ц++ и дистрибуира се под БСД лиценцом.

ЦМаке је познат по томе што пружа једноставан скрипт језик, средство за проширење функционалности кроз модуле, минималан број зависности (без везивања за М4, Перл или Питхон), подршку за кеширање, присуство алата за унакрсну компилацију, подршку за генерисање буилд-а датотеке за широк спектар система за изградњу и компајлере, присуство услужних програма цтест и цпацк за дефинисање тестних скрипти и пакета за изградњу, услужни програм цмаке-гуи за интерактивно подешавање параметара изградње.

Главни побољшања:

  • Додата подршка за Објецтиве Ц („ОБЈЦ“) и Објецтиве језике
    Ц++ („ОБЈЦКСКС“), који се може омогућити преко команди пројецт() и енабле_лангуаге(), након чега ће се код у датотекама „.м“ „.мм“ компајлирати као Објецтиве Ц и Објецтиве Ц++ код, а не као Ц++, као што је био раније;

  • Додата подршка за Цланг компајлер на Соларис платформи;
  • Додате нове опције командне линије: “цмаке -Е труе|фалсе” за штампање повратних кодова 0 и 1; "цмаке --траце-редирецт=" да бисте преусмерили информације о праћењу у датотеку
    "стдерр"; команда "цмаке --логлевел" је преименована у "--лог-левел" да би се ускладила са именима других команди;

  • Додата наредба „таргет_прецомпиле_хеадерс()“ за листу списка датотека заглавља коришћених током прекомпилације (смањује време израде);
  • Додато својство „УНИТИ_БУИЛД“ које активира групни режим за обраду изворних датотека у генераторима ради убрзања изградње;
  • Додате команде „финд_филе()“, „финд_либрари()“, „финд_патх()“,
    „финд_пацкаге()“ и „финд_програм()“ за претраживање датотека, библиотека, путања, пакета и извршних датотека према променљивим које дефинишу путање за претрагу за различите категорије датотека.
    Променљиве "ЦМАКЕ_ФИНД_УСЕ_ЦМАКЕ_ЕНВИРОНМЕНТ_ПАТХ", "ЦМАКЕ_ФИНД_УСЕ_ЦМАКЕ_ПАТХ", "ЦМАКЕ_ФИНД_УСЕ_ЦМАКЕ_СИСТЕМ_ПАТХ", "ЦМАКЕ_ФИНД_УСЕ_ПАЦКАГЕ_РООТ_ПАТХ", "ЦМАКЕ_ФИНД_ЦМАКЕ_ПАТХ", "ЦМАКЕ_ФИНД_ЦМАКЕ_УСЕ" АГЕ_РЕГИСТ" се користе за контролу основних путева за претрагу РИ";

  • Додан је режим „филе(ГЕТ_РУНТИМЕ_ДЕПЕНДЕНЦИЕС)“ у команду „филе()“, који вам омогућава да рекурзивно преузмете листу библиотека које се користе приликом динамичког повезивања извршне датотеке или библиотеке. Режим је заменио команду ГетПререкуиситес(), која је сада застарела;
  • Команда “цтест(1)” имплементира могућност серијализације тестова на основу ресурса потребних за сваки тест;
  • Променљива "ЦМАКЕ_ФИНД_ПАЦКАГЕ_НО_ПАЦКАГЕ_РЕГИСТРИ" је застарела и треба је заменити са "ЦМАКЕ_ФИНД_УСЕ_ПАЦКАГЕ_РЕГИСТРИ";
  • Побољшана подршка за АИКС платформу. Када користите својство „ЕНАБЛЕ_ЕКСПОРТС“, поред извршне датотеке, сада се генерише датотека за увоз за линкер, сачувана са екстензијом „.имп“. У додацима креираним позивањем „адд_либрари()“ са опцијом „МОДУЛЕ“, ова датотека се може користити приликом повезивања помоћу команде „таргет_линк_либрариес()“. Повезивање током извршавања на АИКС-у је подразумевано онемогућено јер ЦМаке сада пружа све потребне информације о симболима за повезивање у време учитавања. Да бисте користили повезивање динамичких библиотека или модула који се могу учитати током извршавања, морате експлицитно навести опције „-Вл, -Г“ на листама заставица покретања повезивача, дефинисане кроз променљиве „ЦМАКЕ_СХАРЕД_ЛИНКЕР_ФЛАГС“ и „ЦМАКЕ_МОДУЛЕ_ЛИНКЕР_ФЛАГС“.

Извор: опеннет.ру

Додај коментар