changelog.html 135 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>xmake</title>
  6. <link rel="icon" href="/assets/img/favicon.ico">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  8. <meta name="description" content="Description">
  9. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  10. <link href="/assets/npm/github-markdown/github-markdown.min.css" rel="stylesheet">
  11. <style>
  12. .markdown-body {
  13. box-sizing: border-box;
  14. min-width: 200px;
  15. max-width: 980px;
  16. margin: 0 auto;
  17. padding: 45px;
  18. }
  19. @media (max-width: 767px) {
  20. .markdown-body {
  21. padding: 15px;
  22. }
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <article class="markdown-body">
  28. <h4>This is a mirror page, please see the original page: </h4><a href="https://xmake.io/#/zh-cn/about/changelog">https://xmake.io/#/zh-cn/about/changelog</a>
  29. <div id="wwads-panel" class="wwads-cn wwads-vertical wwads-sticky" data-id="239" style="max-width:180px;bottom:20px;right:20px;width:200px;height:260px;background:#fff;position:fixed"></div>
  30. </br>
  31. <script type="text/javascript" charset="UTF-8" src="https://cdn.wwads.cn/js/makemoney.js" async></script>
  32. <script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CE7I52QU&placement=xmakeio" id="_carbonads_js"></script>
  33. <style>
  34. #carbonads {
  35. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
  36. Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;
  37. }
  38. #carbonads {
  39. display: flex;
  40. max-width: 330px;
  41. background-color: hsl(0, 0%, 98%);
  42. box-shadow: 0 1px 4px 1px hsla(0, 0%, 0%, .1);
  43. }
  44. #carbonads a {
  45. color: inherit;
  46. text-decoration: none;
  47. }
  48. #carbonads a:hover {
  49. color: inherit;
  50. }
  51. #carbonads span {
  52. position: relative;
  53. display: block;
  54. overflow: hidden;
  55. }
  56. #carbonads .carbon-wrap {
  57. display: flex;
  58. }
  59. .carbon-img {
  60. display: block;
  61. margin: 0;
  62. line-height: 1;
  63. }
  64. .carbon-img img {
  65. display: block;
  66. }
  67. .carbon-text {
  68. font-size: 13px;
  69. padding: 10px;
  70. line-height: 1.5;
  71. text-align: left;
  72. }
  73. .carbon-poweredby {
  74. display: block;
  75. padding: 8px 10px;
  76. background: repeating-linear-gradient(-45deg, transparent, transparent 5px, hsla(0, 0%, 0%, .025) 5px, hsla(0, 0%, 0%, .025) 10px) hsla(203, 11%, 95%, .4);
  77. text-align: center;
  78. text-transform: uppercase;
  79. letter-spacing: .5px;
  80. font-weight: 600;
  81. font-size: 9px;
  82. line-height: 1;
  83. }
  84. </style>
  85. <h2 id="v299">v2.9.9</h2>
  86. <h3 id="">新特性</h3>
  87. <ul>
  88. <li><a href="https://github.com/xmake-io/xmake/issues/6137">#6137</a>: IDE 整合</li>
  89. <li><a href="https://github.com/xmake-io/xmake/issues/6138">#6138</a>: 使用 libxmake/xmake APIs 去构建二进制</li>
  90. <li><a href="https://github.com/xmake-io/xmake/issues/6154">#6154</a>: 添加 kotlin native 构建支持和包依赖集成支持</li>
  91. <li><a href="https://github.com/xmake-io/xmake/pull/6279">#6279</a>: 添加 msvc midl 支持</li>
  92. </ul>
  93. <h3 id="">改进</h3>
  94. <ul>
  95. <li><a href="https://github.com/xmake-io/xmake/pull/6182">#6182</a>: 改进 clang/clang-cl 支持 msstl 模块</li>
  96. <li><a href="https://github.com/xmake-io/xmake/pull/6281">#6281</a>: 支持 Verilator 动态库</li>
  97. <li><a href="https://github.com/xmake-io/xmake/pull/6270">#6270</a>: 改进 conan 生成器</li>
  98. <li><a href="https://github.com/xmake-io/xmake/pull/6243">#6243</a>: 改进 llvm 工具链对交叉编译的支持</li>
  99. <li>三方包安装支持 CMake 4.0</li>
  100. </ul>
  101. <h3 id="bugs">Bugs 修复</h3>
  102. <ul>
  103. <li><a href="https://github.com/xmake-io/xmake/issues/6292">#6292</a>: 修复 namespace 问题</li>
  104. </ul>
  105. <h2 id="v298">v2.9.8</h2>
  106. <h3 id="">新特性</h3>
  107. <ul>
  108. <li><a href="https://github.com/xmake-io/xmake/issues/5994">#5994</a>: 分析进程执行性能</li>
  109. <li><a href="https://github.com/xmake-io/xmake/pull/5995">#5995</a>: 为 vs generator 添加 profile 支持</li>
  110. <li><a href="https://github.com/xmake-io/xmake/pull/5949">#5949</a>: 添加 nodejs.module 规则</li>
  111. <li><a href="https://github.com/xmake-io/xmake/issues/3380">#3380</a>: 添加命名空间支持</li>
  112. <li><a href="https://github.com/xmake-io/xmake/issues/5945">#5945</a>: 检测 pkgconfig/cmake 导入文件</li>
  113. <li><a href="https://github.com/xmake-io/xmake/issues/6054">#6054</a>: 为 linux 添加 xmake bundle 包</li>
  114. <li><a href="https://github.com/xmake-io/xmake/issues/6071">#6071</a>: 改进 git 包下载,支持仅仅 clone 指定子目录</li>
  115. <li><a href="https://github.com/xmake-io/xmake/issues/5163">#5163</a>: 支持 TI-CGT C2000/C6000 编译器</li>
  116. <li><a href="https://github.com/xmake-io/xmake/issues/5344">#5344</a>: 支持 IAR ARM C/C++ 编译器</li>
  117. <li><a href="https://github.com/xmake-io/xmake/issues/5554">#5554</a>: 添加自定义未知工具链支持</li>
  118. </ul>
  119. <h3 id="">改进</h3>
  120. <ul>
  121. <li><a href="https://github.com/xmake-io/xmake/pull/6056">#6056</a>: 添加 CI 去构建发布 windows arm64 版本。</li>
  122. <li><a href="https://github.com/xmake-io/xmake/pull/6097">#6097</a>: 添加 qt_host 支持交叉编译 Qt 项目</li>
  123. <li><a href="https://github.com/xmake-io/xmake/issues/6120">#6120</a>: 改进 configfiles 添加自定义预处理支持</li>
  124. <li><a href="https://github.com/xmake-io/xmake/issues/6088">#6088</a>: 改进 configfiles 去生成导出宏</li>
  125. </ul>
  126. <h3 id="bugs">Bugs 修复</h3>
  127. <ul>
  128. <li><a href="https://github.com/tboox/tbox/issues/272">#272</a>: 修复 msvc + /O1 时候,错误的编译器优化导致 xmake 加载卡住</li>
  129. <li><a href="https://github.com/tboox/tbox/issues/6089">#6089</a>: 修复 depend.is_changed</li>
  130. </ul>
  131. <h2 id="v297">v2.9.7</h2>
  132. <h3 id="">新特性</h3>
  133. <ul>
  134. <li><a href="https://github.com/xmake-io/xmake/pull/5813">#5813</a>: 为 rule 添加 <code>before_config</code> 和 <code>after_config</code></li>
  135. <li><a href="https://github.com/xmake-io/xmake/issues/5848">#5848</a>: 支持自定义 MSVC 构建工具, PortableBuildTools 和 msvc-wine</li>
  136. <li><a href="https://github.com/xmake-io/xmake/pull/5880">#5880</a>: 支持使用 msvc 包去构建工程</li>
  137. <li><a href="https://github.com/xmake-io/xmake/issues/5884">#5884</a>: 为包添加自定义安装提示</li>
  138. <li><a href="https://github.com/xmake-io/xmake/issues/5894">#5894</a>: 添加 package.merge_staticlibs 策略去合并包安装的静态库</li>
  139. <li><a href="https://github.com/xmake-io/xmake/pull/5948">#5948</a>: 添加 <code>lua.native-object</code> 规则</li>
  140. <li><a href="https://github.com/xmake-io/xmake/issues/5911">#5911</a>: 支持 nuget 包集成</li>
  141. </ul>
  142. <h3 id="">改进</h3>
  143. <ul>
  144. <li><a href="https://github.com/xmake-io/xmake/pull/5817">#5817</a>: 改进安装包的默认 pic 配置</li>
  145. <li><a href="https://github.com/xmake-io/xmake/pull/5869">#5869</a>: 为 gcc 添加 libstdc++ 标准库模块的支持</li>
  146. <li><a href="https://github.com/xmake-io/xmake/pull/5923">#5923</a>: 解决包依赖链中版本和配置冲突</li>
  147. </ul>
  148. <h3 id="bugs">Bugs 修复</h3>
  149. <ul>
  150. <li><a href="https://github.com/xmake-io/xmake/issues/5856">#5856</a>: 修复 c++modules 在 clang 下的编译</li>
  151. <li><a href="https://github.com/xmake-io/xmake/issues/5858">#5858</a>: 修复 gcc 的头文件预编译问题</li>
  152. </ul>
  153. <h2 id="v296">v2.9.6</h2>
  154. <h3 id="">新特性</h3>
  155. <ul>
  156. <li><a href="https://github.com/xmake-io/xmake/issues/5527">#5527</a>: 添加 <code>set_policy("compatibility.version", "3.0")</code> 提前预览体验 3.0 特性</li>
  157. <li><a href="https://github.com/xmake-io/xmake/pull/5649">#5649</a>: 添加 <code>package.check_fcsnippets</code></li>
  158. </ul>
  159. <h3 id="">改进</h3>
  160. <ul>
  161. <li><a href="https://github.com/xmake-io/xmake/pull/5631">#5631</a>: 为 <code>add_linkgroups</code> 添加 <code>as_needed</code></li>
  162. <li><a href="https://github.com/xmake-io/xmake/issues/5702">#5702</a>: 改进 hash 模块</li>
  163. <li><a href="https://github.com/xmake-io/xmake/pull/5688">#5688</a>: 改进 hashset</li>
  164. <li><a href="https://github.com/xmake-io/xmake/issues/5711">#5711</a>: 为 sdcc 支持解析 include 依赖</li>
  165. <li><a href="https://github.com/xmake-io/xmake/issues/5727">#5727</a>: 为 add_requires 改进 configs 配置</li>
  166. <li><a href="https://github.com/xmake-io/xmake/pull/5762">#5762</a>: 改进 bin2c 速度</li>
  167. </ul>
  168. <h3 id="bugs">Bugs 修复</h3>
  169. <ul>
  170. <li><a href="https://github.com/xmake-io/xmake/issues/5645">#5645</a>: 修复 <code>xmake watch</code> 在 linux 无法监听递归文件问题</li>
  171. <li><a href="https://github.com/xmake-io/xmake/pull/5686">#5686</a>: 修复模块扫描</li>
  172. </ul>
  173. <h2 id="v295">v2.9.5</h2>
  174. <h3 id="">新特性</h3>
  175. <ul>
  176. <li><a href="https://github.com/xmake-io/xmake/pull/5462">#5462</a>: 添加 <code>xmake l cli.bisect</code></li>
  177. <li><a href="https://github.com/xmake-io/xmake/pull/5488">#5488</a>: 支持使用 cosmocc 去构建 xmake 自身二进制</li>
  178. <li><a href="https://github.com/xmake-io/xmake/pull/5491">#5491</a>: 支持提供内嵌 lua 文件的单个 xmake 二进制文件</li>
  179. <li><a href="https://github.com/xmake-io/xmake/issues/5580">#5580</a>: 添加 <code>@builtin/xrepo</code> 辅助模块,为 <code>xrepo env shell</code> 实现快速设置环境变量</li>
  180. </ul>
  181. <h3 id="">改进</h3>
  182. <ul>
  183. <li><a href="https://github.com/xmake-io/xmake/issues/5507">#5507</a>: 改进 git clone 下载速度</li>
  184. <li><a href="https://github.com/xmake-io/xmake/pull/5536">#5536</a>: 在 swig 模式中添加 jar 生成支持</li>
  185. <li><a href="https://github.com/xmake-io/xmake/issues/5573">#5573</a>: 改进 vsxmake generator 性能</li>
  186. <li><a href="https://github.com/xmake-io/xmake/issues/5601">#5601</a>: 改进 utils.symbols.export_all 规则去过滤源文件路径</li>
  187. </ul>
  188. <h3 id="bugs">Bugs 修复</h3>
  189. <ul>
  190. <li><a href="https://github.com/xmake-io/xmake/issues/4750">#4750</a>: 修复 compile_commands 生成器,支持 <code>xmake tests</code></li>
  191. <li><a href="https://github.com/xmake-io/xmake/pull/5465">#5465</a>: 修复 package requires lock</li>
  192. <li><a href="https://github.com/xmake-io/xmake/issues/4760">#4760</a>: 修复 distcc 分布式编译问题</li>
  193. </ul>
  194. <h2 id="v294">v2.9.4</h2>
  195. <h3 id="">新特性</h3>
  196. <ul>
  197. <li><a href="https://github.com/xmake-io/xmake/issues/5278">#5278</a>: 添加 <code>build.intermediate_directory</code> 策略去禁用中间目录生成</li>
  198. <li><a href="https://github.com/xmake-io/xmake/issues/5313">#5313</a>: 添加 windows arm/arm64ec 支持</li>
  199. <li><a href="https://github.com/xmake-io/xmake/issues/5296">#5296</a>: 添加 Intel LLVM Fortran 编译器支持</li>
  200. <li><a href="https://github.com/xmake-io/xmake/issues/5384">#5384</a>: 为包添加 <code>add_bindirs</code> 配置支持</li>
  201. </ul>
  202. <h3 id="">改进</h3>
  203. <ul>
  204. <li><a href="https://github.com/xmake-io/xmake/issues/5280">#5280</a>: 添加缺失的 C++20 Modules 文件扩展</li>
  205. <li><a href="https://github.com/xmake-io/xmake/issues/5251">#5251</a>: 为 windows installer 更新内置的 7z/curl</li>
  206. <li><a href="https://github.com/xmake-io/xmake/issues/5286">#5286</a>: 改进 json 支持16进制解析</li>
  207. <li><a href="https://github.com/xmake-io/xmake/pull/5302">#5302</a>: 改进 Vala 支持</li>
  208. <li><a href="https://github.com/xmake-io/xmake/pull/5335">#5335</a>: 改进 <code>xmake install</code> 和 <code>xpack</code>,添加 <code>set_prefixdir</code> 接口</li>
  209. <li><a href="https://github.com/xmake-io/xmake/pull/5387">#5387</a>: 改进 <code>xmake test</code></li>
  210. <li><a href="https://github.com/xmake-io/xmake/pull/5376">#5376</a>: 改进 C++ module 对象列表处理和 moduleonly 包支持</li>
  211. </ul>
  212. <h3 id="bugs">Bugs 修复</h3>
  213. <ul>
  214. <li><a href="https://github.com/xmake-io/xmake/issues/5288">#5288</a>: 修复 <code>xmake test</code> 对 Unity Build 的支持</li>
  215. <li><a href="https://github.com/xmake-io/xmake/issues/5270">#5270</a>: 修复 gcc/clang 对 pch 的支持</li>
  216. <li><a href="https://github.com/xmake-io/xmake/issues/5276">#5276</a>: 修复查找 vc6 环境</li>
  217. <li><a href="https://github.com/xmake-io/xmake/issues/5259">#5259</a>: 修复命令补全失效问题</li>
  218. </ul>
  219. <h2 id="v293">v2.9.3</h2>
  220. <h3 id="">新特性</h3>
  221. <ul>
  222. <li><a href="https://github.com/xmake-io/xmake/issues/4637">#4637</a>: 为 xpack 添加 mix 支持</li>
  223. <li><a href="https://github.com/xmake-io/xmake/issues/5107">#5107</a>: 为 xpack 添加 deb 支持</li>
  224. <li><a href="https://github.com/xmake-io/xmake/issues/5148">#5148</a>: 为包添加 on_source 配置域</li>
  225. </ul>
  226. <h3 id="">改进</h3>
  227. <ul>
  228. <li><a href="https://github.com/xmake-io/xmake/issues/5156">#5156</a>: 改进安装 cargo 包</li>
  229. </ul>
  230. <h3 id="">问题修复</h3>
  231. <ul>
  232. <li><a href="https://github.com/xmake-io/xmake/pull/5176">#5176</a>: 修复 VS toolset v144 支持</li>
  233. </ul>
  234. <h2 id="v292">v2.9.2</h2>
  235. <h3 id="">新特性</h3>
  236. <ul>
  237. <li><a href="https://github.com/xmake-io/xmake/pull/5005">#5005</a>: 显示所有 API</li>
  238. <li><a href="https://github.com/xmake-io/xmake/issues/5003">#5003</a>: 添加 build.fence 策略</li>
  239. <li><a href="https://github.com/xmake-io/xmake/issues/5060">#5060</a>: 支持 Verilator 静态库目标构建</li>
  240. <li><a href="https://github.com/xmake-io/xmake/pull/5074">#5074</a>: 添加 <code>xrepo download</code> 命令去快速下载包源码</li>
  241. <li><a href="https://github.com/xmake-io/xmake/issues/5986">#5086</a>: 添加包检测支持</li>
  242. <li><a href="https://github.com/xmake-io/xmake/pull/5103">#5103</a>: 添加 qt ts 构建支持</li>
  243. <li><a href="https://github.com/xmake-io/xmake/pull/5104">#5104</a>: 改进 find_program,在 windows 上调用 where 改进查找</li>
  244. </ul>
  245. <h3 id="">改进</h3>
  246. <ul>
  247. <li><a href="https://github.com/xmake-io/xmake/issues/5077">#5077</a>: 当构建 x86 目标时,使用 x64 的 msvc 编译工具</li>
  248. <li><a href="https://github.com/xmake-io/xmake/issues/5109">#5109</a>: 改进 add_rpathdirs 支持 runpath/rpath 切换</li>
  249. <li><a href="https://github.com/xmake-io/xmake/pull/5132">#5132</a>: 改进 ifort/icc/icx 在 windows 上的支持</li>
  250. </ul>
  251. <h3 id="bugs">Bugs 修复</h3>
  252. <ul>
  253. <li><a href="https://github.com/xmake-io/xmake/issues/5059">#5059</a>: 修复加载大量 targets 时候卡住</li>
  254. <li><a href="https://github.com/xmake-io/xmake/issues/5029">#5029</a>: 修复在 termux 上崩溃问题</li>
  255. </ul>
  256. <h2 id="v291">v2.9.1</h2>
  257. <h3 id="">新特性</h3>
  258. <ul>
  259. <li><a href="https://github.com/xmake-io/xmake/pull/4874">#4874</a>: 添加鸿蒙 SDK 支持</li>
  260. <li><a href="https://github.com/xmake-io/xmake/issues/4889">#4889</a>: 添加 signal 模块 去注册信号处理</li>
  261. <li><a href="https://github.com/xmake-io/xmake/issues/4925">#4925</a>: 添加 native 模块支持</li>
  262. <li><a href="https://github.com/xmake-io/xmake/issues/4938">#4938</a>: 增加对 cppfront/h2 的支持</li>
  263. </ul>
  264. <h3 id="">改进</h3>
  265. <ul>
  266. <li>改进包管理,支持切换 clang-cl</li>
  267. <li><a href="https://github.com/xmake-io/xmake/issues/4893">#4893</a>: 改进 rc 头文件依赖检测</li>
  268. <li><a href="https://github.com/xmake-io/xmake/issues/4928">#4928</a>: 改进构建和链接速度,增量编译时候效果更加明显</li>
  269. <li><a href="https://github.com/xmake-io/xmake/pull/4931">#4931</a>: 更新 pdcurses</li>
  270. <li><a href="https://github.com/xmake-io/xmake/issues/4973">#4973</a>: 改进选择脚本的匹配模式</li>
  271. </ul>
  272. <h3 id="bugs">Bugs 修复</h3>
  273. <ul>
  274. <li><a href="https://github.com/xmake-io/xmake/issues/4882">#4882</a>: 修复安装组依赖问题</li>
  275. <li><a href="https://github.com/xmake-io/xmake/issues/4877">#4877</a>: 修复 xpack 打包时,unit build 编译失败问题</li>
  276. <li><a href="https://github.com/xmake-io/xmake/issues/4887">#4887</a>: 修复 object 依赖链接</li>
  277. </ul>
  278. <h2 id="v289">v2.8.9</h2>
  279. <h3 id="">新特性</h3>
  280. <ul>
  281. <li><a href="https://github.com/xmake-io/xmake/issues/4843">#4843</a>: 添加 check_bigendian 接口实现大小端探测</li>
  282. </ul>
  283. <h3 id="">改进</h3>
  284. <ul>
  285. <li><a href="https://github.com/xmake-io/xmake/issues/4798">#4798</a>: 改进 wasi sdk 检测</li>
  286. <li><a href="https://github.com/xmake-io/xmake/issues/4772">#4772</a>: 改进 tools.cmake 去兼容支持 vs2022 preview (v144)</li>
  287. <li><a href="https://github.com/xmake-io/xmake/issues/4813">#4813</a>: 添加 gb2312 编码</li>
  288. <li><a href="https://github.com/xmake-io/xmake/issues/4864">#4864</a>: 改进抽取符号,支持 gdb 断点调试</li>
  289. <li><a href="https://github.com/xmake-io/xmake/issues/4831">#4831</a>: 改进 target:fileconfig() 支持 headerfiles</li>
  290. <li><a href="https://github.com/xmake-io/xmake/issues/4846">#4846</a>: 改进进度显示,解决顺序错乱问题</li>
  291. </ul>
  292. <h3 id="bugs">Bugs 修复</h3>
  293. <ul>
  294. <li>修复 select_script 的脚本模式匹配</li>
  295. <li><a href="https://github.com/xmake-io/xmake/issues/4763">#4763</a>: 修复 {force = true}</li>
  296. <li><a href="https://github.com/xmake-io/xmake/issues/4807">#4807</a>: 修复 nimble::find_package</li>
  297. <li><a href="https://github.com/xmake-io/xmake/issues/4857">#4857</a>: 修复对 -P/-F 等基础选项的解析</li>
  298. </ul>
  299. <h2 id="v288">v2.8.8</h2>
  300. <h3 id="">改进</h3>
  301. <ul>
  302. <li>添加 <code>package:check_sizeof()</code></li>
  303. </ul>
  304. <h3 id="bugs">Bugs 修复</h3>
  305. <ul>
  306. <li><a href="https://github.com/xmake-io/xmake/issues/4774">#4774</a>: 修复 Android NDK r26b 上的 strip 支持</li>
  307. <li><a href="https://github.com/xmake-io/xmake/issues/4769">#4769</a>: 修复交叉编译工具链问题</li>
  308. <li><a href="https://github.com/xmake-io/xmake/issues/4776">#4776</a>: 修复 soname</li>
  309. <li><a href="https://github.com/xmake-io/xmake/issues/4638">#4638</a>: 修复 vsxmake generator</li>
  310. </ul>
  311. <h2 id="v287">v2.8.7</h2>
  312. <h3 id="">新特性</h3>
  313. <ul>
  314. <li><a href="https://github.com/xmake-io/xmake/issues/4544">#4544</a>: 改进 <code>xmake test</code>,支持等待进程超时</li>
  315. <li><a href="https://github.com/xmake-io/xmake/pull/4606">#4606</a>: 为 package 添加 <code>add_versionfiles</code> 接口</li>
  316. <li><a href="https://github.com/xmake-io/xmake/issues/4709">#4709</a>: 添加 cosmocc 工具链支持</li>
  317. <li><a href="https://github.com/xmake-io/xmake/issues/4715">#4715</a>: 在描述域添加 is_cross() 接口</li>
  318. <li><a href="https://github.com/xmake-io/xmake/issues/4747">#4747</a>: 添加 <code>build.always_update_configfiles</code> 策略</li>
  319. </ul>
  320. <h3 id="">改进</h3>
  321. <ul>
  322. <li><a href="https://github.com/xmake-io/xmake/issues/4575">#4575</a>: 检测无效的域参数</li>
  323. <li>添加更多的 loong64 支持</li>
  324. <li>改进 dlang/dmd 对 frameworks 的支持</li>
  325. <li><a href="https://github.com/xmake-io/xmake/issues/4571">#4571</a>: 改进 <code>xmake test</code> 的输出支持</li>
  326. <li><a href="https://github.com/xmake-io/xmake/issues/4609">#4609</a>: 改进探测 vs 构建工具环境</li>
  327. <li><a href="https://github.com/xmake-io/xmake/issues/4614">#4614</a>: 改进支持 android ndk 26b</li>
  328. <li><a href="https://github.com/xmake-io/xmake/issues/4473">#4473</a>: 默认启用警告输出</li>
  329. <li><a href="https://github.com/xmake-io/xmake/issues/4477">#4477</a>: 改进 runtimes 去支持 libc++/libstdc++</li>
  330. <li><a href="https://github.com/xmake-io/xmake/issues/4657">#4657</a>: 改进脚本的模式匹配</li>
  331. <li><a href="https://github.com/xmake-io/xmake/pull/4673">#4673</a>: 重构模块支持</li>
  332. <li><a href="https://github.com/xmake-io/xmake/pull/4746">#4746</a>: 为 cmake generator 添加原生 c++ modules 支持</li>
  333. </ul>
  334. <h3 id="bugs">Bugs 修复</h3>
  335. <ul>
  336. <li><a href="https://github.com/xmake-io/xmake/issues/4596">#4596</a>: 修复远程构建缓存</li>
  337. <li><a href="https://github.com/xmake-io/xmake/issues/4689">#4689</a>: 修复目标依赖继承</li>
  338. </ul>
  339. <h2 id="v286">v2.8.6</h2>
  340. <h3 id="">新特性</h3>
  341. <ul>
  342. <li>添加 <code>network.mode</code> 策略</li>
  343. <li><a href="https://github.com/xmake-io/xmake/issues/1433">#1433</a>: 添加 <code>xmake pack</code> 命令去生成 NSIS/zip/tar.gz/rpm/srpm/runself 安装包</li>
  344. <li><a href="https://github.com/xmake-io/xmake/issues/4435">#4435</a>: 为 UnityBuild 的组模式增加 batchsize 支持</li>
  345. <li><a href="https://github.com/xmake-io/xmake/pull/4485">#4485</a>: 新增 package.install_locally 策略支持</li>
  346. <li>新增 NetBSD 支持</li>
  347. </ul>
  348. <h3 id="changes">Changes</h3>
  349. <ul>
  350. <li><a href="https://github.com/xmake-io/xmake/pull/4484">#4484</a>: 改进 swig 规则</li>
  351. <li>改进 Haiku 支持</li>
  352. </ul>
  353. <h3 id="bugs">Bugs 修复</h3>
  354. <ul>
  355. <li><a href="https://github.com/xmake-io/xmake/issues/4372">#4372</a>: 修复 protobuf 规则</li>
  356. <li><a href="https://github.com/xmake-io/xmake/issues/4439">#4439</a>: 修复 asn1c 规则</li>
  357. </ul>
  358. <h2 id="v285">v2.8.5</h2>
  359. <h3 id="">新特性</h3>
  360. <ul>
  361. <li><a href="https://github.com/xmake-io/xmake/issues/1452">#1452</a>: 支持链接顺序调整,链接组</li>
  362. <li><a href="https://github.com/xmake-io/xmake/issues/1438">#1438</a>: 支持代码 amalgamation</li>
  363. <li><a href="https://github.com/xmake-io/xmake/issues/3381">#3381</a>: 添加 <code>xmake test</code> 支持</li>
  364. <li><a href="https://github.com/xmake-io/xmake/issues/4276">#4276</a>: 支持自定义域 API</li>
  365. <li><a href="https://github.com/xmake-io/xmake/pull/4286">#4286</a>: 添加 Apple XROS 支持</li>
  366. <li><a href="https://github.com/xmake-io/xmake/issues/4345">#4345</a>: 支持检测类型大小 sizeof</li>
  367. <li><a href="https://github.com/xmake-io/xmake/pull/4369">#4369</a>: 添加 windows.manifest.uac 策略</li>
  368. </ul>
  369. <h3 id="">改进</h3>
  370. <ul>
  371. <li><a href="https://github.com/xmake-io/xmake/issues/4284">#4284</a>: 改进内置 includes 模块</li>
  372. </ul>
  373. <h3 id="bugs">Bugs 修复</h3>
  374. <ul>
  375. <li><a href="https://github.com/xmake-io/xmake/issues/4256">#4256</a>: 为 vsxmake 生成器修复 c++ modules intellisense</li>
  376. </ul>
  377. <h2 id="v283">v2.8.3</h2>
  378. <h3 id="">新特性</h3>
  379. <ul>
  380. <li><a href="https://github.com/xmake-io/xmake/issues/4122">#4122</a>: 支持 Lua 调试 (EmmyLua)</li>
  381. <li><a href="https://github.com/xmake-io/xmake/pull/4132">#4132</a>: 支持 cppfront</li>
  382. <li><a href="https://github.com/xmake-io/xmake/issues/4147">#4147</a>: 添加 hlsl2spv 规则</li>
  383. <li>添加 lib.lua.package 模块</li>
  384. <li><a href="https://github.com/xmake-io/xmake/issues/4226">#4226</a>: 新增 asan 相关策略和对包的支持</li>
  385. <li>添加 <code>run.autobuild</code> 策略开启运行前自动构建</li>
  386. <li>添加全局策略 <code>xmake g --policies=</code></li>
  387. </ul>
  388. <h3 id="">改进</h3>
  389. <ul>
  390. <li><a href="https://github.com/xmake-io/xmake/issues/4119">#4119</a>: 改进支持 emcc 工具链和 emscripten 包的整合</li>
  391. <li><a href="https://github.com/xmake-io/xmake/issues/4154">#4154</a>: 添加 <code>xmake -r --shallow target</code> 去改进重建目标,避免重建所有依赖目标</li>
  392. <li>添加全局 ccache 存储目录</li>
  393. <li><a href="https://github.com/xmake-io/xmake/issues/4137">#4137</a>: 改进 Qt,支持 Qt6 for Wasm</li>
  394. <li><a href="https://github.com/xmake-io/xmake/issues/4173">#4173</a>: 添加 recheck 参数到 on_config</li>
  395. <li><a href="https://github.com/xmake-io/xmake/pull/4200">#4200</a>: 改进远程构建,支持调试本地 xmake 源码</li>
  396. <li><a href="https://github.com/xmake-io/xmake/issues/4209">#4209</a>: 添加 extra 和 pedantic 警告</li>
  397. </ul>
  398. <h3 id="bugs">Bugs 修复</h3>
  399. <ul>
  400. <li><a href="https://github.com/xmake-io/xmake/issues/4110">#4110</a>: 修复 extrafiles</li>
  401. <li><a href="https://github.com/xmake-io/xmake/issues/4115">#4115</a>: 修复 compile_commands 生成器</li>
  402. <li><a href="https://github.com/xmake-io/xmake/pull/4199">#4199</a>: 修复 compile_commands 生成器对 c++ modules 的支持</li>
  403. <li>修复 os.mv 在 windows 上跨驱动盘失败问题</li>
  404. <li><a href="https://github.com/xmake-io/xmake/issues/4214">#4214</a>: 修复 rust workspace 构建问题</li>
  405. </ul>
  406. <h2 id="v282">v2.8.2</h2>
  407. <h3 id="">新特性</h3>
  408. <ul>
  409. <li><a href="https://github.com/xmake-io/xmake/issues/4002">#4002</a>: 增加 soname 支持</li>
  410. <li><a href="https://github.com/xmake-io/xmake/issues/1613">#1613</a>: 为 add_vectorexts 增加 avx512 和 sse4.2 支持</li>
  411. <li><a href="https://github.com/xmake-io/xmake/issues/2471">#2471</a>: 添加 set_encodings API 去设置源文件和目标文件的编码</li>
  412. <li><a href="https://github.com/xmake-io/xmake/pull/4071">#4071</a>: 支持 sdcc 的 stm8 汇编器</li>
  413. <li><a href="https://github.com/xmake-io/xmake/issues/4101">#4101</a>: 为 c/c++ 添加 force includes</li>
  414. <li><a href="https://github.com/xmake-io/xmake/issues/2384">#2384</a>: 为 vs/vsxmake 生成器添加 add_extrafiles 接口</li>
  415. </ul>
  416. <h3 id="">改进</h3>
  417. <ul>
  418. <li><a href="https://github.com/xmake-io/xmake/issues/3960">#3960</a>: 改进 msys2/crt64 支持</li>
  419. <li><a href="https://github.com/xmake-io/xmake/pull/4032">#4032</a>: 移除一些非常老的废弃接口</li>
  420. <li>改进 tools.msbuild 升级 vcproj 文件</li>
  421. <li>支持 add_requires("xmake::xxx") 包</li>
  422. <li><a href="https://github.com/xmake-io/xmake/issues/4049">#4049</a>: 改进 Rust 支持交叉编译</li>
  423. <li>改进 clang 下 c++ modules 支持</li>
  424. </ul>
  425. <h3 id="bugs">Bugs 修复</h3>
  426. <ul>
  427. <li>修复 macOS/Linux 上子子进程无法快速退出问题</li>
  428. </ul>
  429. <h2 id="v281">v2.8.1</h2>
  430. <h3 id="">新特性</h3>
  431. <ul>
  432. <li><a href="https://github.com/xmake-io/xmake/pull/3821">#3821</a>: windows 安装器添加长路径支持选项</li>
  433. <li><a href="https://github.com/xmake-io/xmake/pull/3828">#3828</a>: 添加 zypper 包管理器支持</li>
  434. <li><a href="https://github.com/xmake-io/xmake/issues/3871">#3871</a>: 改进 tools.msbuild 支持对 vsproj 进行自动升级</li>
  435. <li><a href="https://github.com/xmake-io/xmake/issues/3148">#3148</a>: 改进 protobuf 支持 grpc</li>
  436. <li><a href="https://github.com/xmake-io/xmake/issues/3889">#3889</a>: add_links 支持库路径添加</li>
  437. <li><a href="https://github.com/xmake-io/xmake/issues/3912">#3912</a>: 添加 set_pmxxheader 去支持 objc 预编译头</li>
  438. <li>add_links 支持库文件路径</li>
  439. </ul>
  440. <h3 id="">改进</h3>
  441. <ul>
  442. <li><a href="https://github.com/xmake-io/xmake/issues/3752">#3752</a>: 改进 windows 上 os.getenvs 的获取</li>
  443. <li><a href="https://github.com/xmake-io/xmake/issues/3371">#3371</a>: 改进 tools.cmake 支持使用 ninja 去构建 wasm 包</li>
  444. <li><a href="https://github.com/xmake-io/xmake/issues/3777">#3777</a>: 改进从 pkg-config 中查找包</li>
  445. <li><a href="https://github.com/xmake-io/xmake/pull/3815">#3815</a>: 改进 tools.xmake 支持为 windows 平台传递工具链</li>
  446. <li><a href="https://github.com/xmake-io/xmake/issues/3857">#3857</a>: 改进生成 compile_commands.json</li>
  447. <li><a href="https://github.com/xmake-io/xmake/issues/3892">#3892</a>: 改进包搜索,支持从描述中找包</li>
  448. <li><a href="https://github.com/xmake-io/xmake/issues/3916">#3916</a>: 改进构建 swift 程序,支持模块间符号调用</li>
  449. <li>更新 lua 运行时到 5.4.6</li>
  450. </ul>
  451. <h3 id="bugs">Bugs 修复</h3>
  452. <ul>
  453. <li><a href="https://github.com/xmake-io/xmake/pull/3755">#3755</a>: 修复 find_tool 从 xmake/packages 中查找程序</li>
  454. <li><a href="https://github.com/xmake-io/xmake/issues/3787">#3787</a>: 修复从 conan 2.x 中使用包</li>
  455. <li><a href="https://github.com/xmake-io/xmake/discussions/3839">#3839</a>: 修复 conan 2.x 包的 vs_runtime 设置</li>
  456. </ul>
  457. <h2 id="v279">v2.7.9</h2>
  458. <h3 id="">新特性</h3>
  459. <ul>
  460. <li><a href="https://github.com/xmake-io/xmake/issues/3613">#3613</a>: 添加 <code>wasm.preloadfiles</code> 扩展配置</li>
  461. <li><a href="https://github.com/xmake-io/xmake/pull/3703">#3703</a>: 支持 conan >=2.0.5</li>
  462. </ul>
  463. <h3 id="">改进</h3>
  464. <ul>
  465. <li><a href="https://github.com/xmake-io/xmake/issues/3669">#3669</a>: 改进 cmake 生成器支持特定工具的 cxflags</li>
  466. <li><a href="https://github.com/xmake-io/xmake/issues/3679">#3679</a>: 改进 <code>xrepo clean</code></li>
  467. <li><a href="https://github.com/xmake-io/xmake/issues/3662">#3662</a>: 改进 cmake/make 生成器去更好的支持 lex/yacc 工程</li>
  468. <li><a href="https://github.com/xmake-io/xmake/issues/3662">#3697</a>: 改进 trybuild/cmake</li>
  469. <li><a href="https://github.com/xmake-io/xmake/issues/3730">#3730</a>: 改进 c++modules 包安装,解决不同目录同名文件分发冲突问题</li>
  470. </ul>
  471. <h3 id="bugs">Bugs 修复</h3>
  472. <ul>
  473. <li><a href="https://github.com/xmake-io/xmake/issues/3596">#3596</a>: 修复 check_cxxfuncs 和 check_cxxsnippets</li>
  474. <li><a href="https://github.com/xmake-io/xmake/issues/3603">#3603</a>: 修复 xmake update 的无效 url</li>
  475. <li><a href="https://github.com/xmake-io/xmake/issues/3614">#3614</a>: 修复 xmake run 对 Qt 环境的加载</li>
  476. <li><a href="https://github.com/xmake-io/xmake/issues/3628">#3628</a>: 修复 msys2/mingw 下 os.exec 总是优先查找错误的可执行程序</li>
  477. <li>修复 msys/mingw 下环境变量设置问题</li>
  478. </ul>
  479. <h2 id="v278">v2.7.8</h2>
  480. <h3 id="">新特性</h3>
  481. <ul>
  482. <li><a href="https://github.com/xmake-io/xmake/issues/3518">#3518</a>: 分析编译和链接性能</li>
  483. <li><a href="https://github.com/xmake-io/xmake/issues/3522">#3522</a>: 为 target 添加 has_cflags, has_xxx 等辅助接口</li>
  484. <li><a href="https://github.com/xmake-io/xmake/issues/3537">#3537</a>: 为 clang.tidy 检测器添加 <code>--fix</code> 自动修复</li>
  485. </ul>
  486. <h3 id="">改进</h3>
  487. <ul>
  488. <li><a href="https://github.com/xmake-io/xmake/issues/3433">#3433</a>: 改进 QT 在 msys2/mingw64 和 wasm 上的构建支持</li>
  489. <li><a href="https://github.com/xmake-io/xmake/issues/3419">#3419</a>: 支持 fish shell 环境</li>
  490. <li><a href="https://github.com/xmake-io/xmake/issues/3455">#3455</a>: Dlang 增量编译支持</li>
  491. <li><a href="https://github.com/xmake-io/xmake/issues/3498">#3498</a>: 改进绑定包虚拟环境</li>
  492. <li><a href="https://github.com/xmake-io/xmake/pull/3504">#3504</a>: 添加 swig java 支持</li>
  493. <li><a href="https://github.com/xmake-io/xmake/issues/3508">#3508</a>: 改进 trybuild/cmake 去支持工具链切换</li>
  494. <li>为 msvc 禁用 build cache 加速,因为 msvc 的预处理器太慢,反而极大影响构建性能。</li>
  495. </ul>
  496. <h3 id="bugs">Bugs 修复</h3>
  497. <ul>
  498. <li><a href="https://github.com/xmake-io/xmake/issues/3436">#3436</a>: 修复自动补全和 menuconf</li>
  499. <li><a href="https://github.com/xmake-io/xmake/issues/3463">#3463</a>: 修复 c++modules 缓存问题</li>
  500. <li><a href="https://github.com/xmake-io/xmake/issues/3545">#3545</a>: 修复 armcc 的头文件依赖解析</li>
  501. </ul>
  502. <h2 id="v277">v2.7.7</h2>
  503. <h3 id="">新特性</h3>
  504. <ul>
  505. <li>添加 Haiku 支持</li>
  506. <li><a href="https://github.com/xmake-io/xmake/issues/3326">#3326</a>: 添加 <code>xmake check</code> 去检测工程代码 (clang-tidy) 和 API 参数配置</li>
  507. <li><a href="https://github.com/xmake-io/xmake/pull/3332">#3332</a>: 在包中配置添加自定义 http headers</li>
  508. </ul>
  509. <h3 id="">改进</h3>
  510. <ul>
  511. <li><a href="https://github.com/xmake-io/xmake/pull/3318">#3318</a>: 改进 dlang 工具链</li>
  512. <li><a href="https://github.com/xmake-io/xmake/issues/2591">#2591</a>: 改进 target 配置来源分析</li>
  513. <li>为 dmd/ldc2 改进 strip/optimization</li>
  514. <li><a href="https://github.com/xmake-io/xmake/issues/3342">#3342</a>: 改进配置构建目录,支持外置目录构建,保持远吗目录更加干净</li>
  515. <li><a href="https://github.com/xmake-io/xmake/issues/3373">#3373</a>: 为 clang-17 改进 std 模块支持</li>
  516. </ul>
  517. <h3 id="bugs">Bugs 修复</h3>
  518. <ul>
  519. <li><a href="https://github.com/xmake-io/xmake/pull/3317">#3317</a>: 针对 Qt 工程,修复 lanuages 设置</li>
  520. <li><a href="https://github.com/xmake-io/xmake/issues/3321">#3321</a>: 修复隔天 configfiles 重新生成导致重编问题</li>
  521. <li><a href="https://github.com/xmake-io/xmake/issues/3296">#3296</a>: 修复 macOS arm64 上构建失败</li>
  522. </ul>
  523. <h2 id="v276">v2.7.6</h2>
  524. <h3 id="">新特性</h3>
  525. <ul>
  526. <li><a href="https://github.com/xmake-io/xmake/pull/3228">#3228</a>: C++ modules 的安装发布,以及从包中导入 C++ modules 支持</li>
  527. <li><a href="https://github.com/xmake-io/xmake/issues/3257">#3257</a>: 增加对 iverilog 和 verilator 的支持</li>
  528. <li>支持 xp 和 vc6.0</li>
  529. <li><a href="https://github.com/xmake-io/xmake/pull/3214">#3214</a>: xrepo install 的自动补全支持</li>
  530. </ul>
  531. <h3 id="">改进</h3>
  532. <ul>
  533. <li><a href="https://github.com/xmake-io/xmake/pull/3225">#3255</a>: 改进 clang libc++ 模块支持</li>
  534. <li>支持使用 mingw 编译 xmake</li>
  535. <li>改进 xmake 在 win xp 上的兼容性</li>
  536. <li>如果外部依赖被启用,切换 json 模块到纯 lua 实现,移除对 lua-cjson 的依赖</li>
  537. </ul>
  538. <h3 id="bugs">Bugs 修复</h3>
  539. <ul>
  540. <li><a href="https://github.com/xmake-io/xmake/issues/3229">#3229</a>: 修复 vs2015 下找不到 rc.exe 问题</li>
  541. <li><a href="https://github.com/xmake-io/xmake/issues/3271">#3271</a>: 修复支持带有空格的宏定义</li>
  542. <li><a href="https://github.com/xmake-io/xmake/issues/3273">#3273</a>: 修复 nim 链接错误</li>
  543. <li><a href="https://github.com/xmake-io/xmake/issues/3286">#3286</a>: 修复 compile_commands 对 clangd 的支持</li>
  544. </ul>
  545. <h2 id="v275">v2.7.5</h2>
  546. <h3 id="">新特性</h3>
  547. <ul>
  548. <li><a href="https://github.com/xmake-io/xmake/pull/3201">#3201</a>: 为 xrepo 添加命令自动补全</li>
  549. <li><a href="https://github.com/xmake-io/xmake/issues/3233">#3233</a>: 添加 MASM32 sdk 工具链</li>
  550. </ul>
  551. <h3 id="">改进</h3>
  552. <ul>
  553. <li><a href="https://github.com/xmake-io/xmake/pull/3216">#3216</a>: 改进 intel one api toolkits 探测</li>
  554. <li><a href="https://github.com/xmake-io/xmake/issues/3020">#3020</a>: 添加 <code>--lsp=clangd</code> 去改进 compile_commands.json 的生成</li>
  555. <li><a href="https://github.com/xmake-io/xmake/issues/3215">#3215</a>: 添加 includedirs 和 defines 到 c51 编译器</li>
  556. <li><a href="https://github.com/xmake-io/xmake/issues/3251">#3251</a>: 改进 zig and c 混合编译</li>
  557. </ul>
  558. <h3 id="bugs">Bugs 修复</h3>
  559. <ul>
  560. <li><a href="https://github.com/xmake-io/xmake/issues/3203">#3203</a>: 修复 compile_commands</li>
  561. <li><a href="https://github.com/xmake-io/xmake/issues/3222">#3222</a>: 修复 objc 的预编译头支持</li>
  562. <li><a href="https://github.com/xmake-io/xmake/pull/3240">#3240</a>: 修复 <code>xmake run</code> 处理单个参数不正确问题</li>
  563. <li><a href="https://github.com/xmake-io/xmake/pull/3238">#3238</a>: 修复 clang 构建 module 时候,并行写入 mapper 冲突问题</li>
  564. </ul>
  565. <h2 id="v274">v2.7.4</h2>
  566. <h3 id="">新特性</h3>
  567. <ul>
  568. <li><a href="https://github.com/xmake-io/xmake/pull/3049">#3049</a>: 添加 <code>xmake format</code> 插件</li>
  569. <li>添加 <code>plugin.compile_commands.autoupdate</code> 规则</li>
  570. <li><a href="https://github.com/xmake-io/xmake/pull/3172">#3172</a>: 添加 xmake.sh</li>
  571. <li><a href="https://github.com/xmake-io/xmake/pull/3168">#3168</a>: 为 msvc 添加 C++23 标准模块支持</li>
  572. </ul>
  573. <h3 id="">改进</h3>
  574. <ul>
  575. <li><a href="https://github.com/xmake-io/xmake/issues/3056">#3056</a>: 改进 Zig 支持</li>
  576. <li><a href="https://github.com/xmake-io/xmake/issues/3060">#3060</a>: 改进支持 msys2 的环境探测</li>
  577. <li><a href="https://github.com/xmake-io/xmake/issues/3071">#3071</a>: 为 llvm/clang 工具链支持 rc 编译</li>
  578. <li><a href="https://github.com/xmake-io/xmake/pull/3122">#3122</a>: 改进 c++20 模块依赖图的源码分析,支持预处理</li>
  579. <li><a href="https://github.com/xmake-io/xmake/pull/3125">#3125</a>: 增加私有 C++20 模块的编译支持</li>
  580. <li><a href="https://github.com/xmake-io/xmake/pull/3133">#3133</a>: 增加 internal partitions 模块支持</li>
  581. <li><a href="https://github.com/xmake-io/xmake/issues/3146">#3146</a>: 添加默认包组件支持</li>
  582. <li><a href="https://github.com/xmake-io/xmake/issues/3192">#3192</a>: 为 auto complete 增加 json 输出支持</li>
  583. </ul>
  584. <h3 id="bugs">Bugs 修复</h3>
  585. <ul>
  586. <li>修复 requires-lock 问题</li>
  587. <li><a href="https://github.com/xmake-io/xmake/issues/3065">#3065</a>: 修复部分依赖包没有被安装的问题</li>
  588. <li><a href="https://github.com/xmake-io/xmake/issues/3082">#3082</a>: 修复 build.ninja 生成器</li>
  589. <li><a href="https://github.com/xmake-io/xmake/issues/3092">#3092</a>: 修复 xrepo add-repo 添加失败逻辑</li>
  590. <li><a href="https://github.com/xmake-io/xmake/issues/3013">#3013</a>: 修复支持 windows UNC 路径</li>
  591. <li><a href="https://github.com/xmake-io/xmake/issues/2902">#2902</a>: 修复文件被其他子进程占用问题</li>
  592. <li><a href="https://github.com/xmake-io/xmake/issues/3074">#3074</a>: 修复 CMakelists 生成器链接参数设置不对问题</li>
  593. <li><a href="https://github.com/xmake-io/xmake/pull/3141">#3141</a>: 修复 C++ 模块的导入顺序</li>
  594. <li>修复 tools/xmake 包安装构建目录</li>
  595. <li><a href="https://github.com/xmake-io/xmake/issues/3159">#3159</a>: 为 CLion 修复 compile_commands</li>
  596. </ul>
  597. <h2 id="v273">v2.7.3</h2>
  598. <h3 id="">新特性</h3>
  599. <ul>
  600. <li>一种新的可选域配置语法,对 LSP 友好,并且支持域隔离。</li>
  601. <li><a href="https://github.com/xmake-io/xmake/issues/2944">#2944</a>: 为嵌入式工程添加 <code>gnu-rm.binary</code> 和 <code>gnu-rm.static</code> 规则和测试工程</li>
  602. <li><a href="https://github.com/xmake-io/xmake/issues/2636">#2636</a>: 支持包组件</li>
  603. <li>支持 msvc 的 armasm/armasm64</li>
  604. <li><a href="https://github.com/xmake-io/xmake/pull/3023">#3023</a>: 改进 xmake run -d,添加 renderdoc 调试器支持</li>
  605. <li><a href="https://github.com/xmake-io/xmake/issues/3022">#3022</a>: 为特定编译器添加 flags</li>
  606. <li><a href="https://github.com/xmake-io/xmake/pull/3025">#3025</a>: 新增 C++ 异常接口配置</li>
  607. <li><a href="https://github.com/xmake-io/xmake/pull/3017">#3017</a>: 支持 ispc 编译器规则</li>
  608. </ul>
  609. <h3 id="">改进</h3>
  610. <ul>
  611. <li><a href="https://github.com/xmake-io/xmake/issues/2925">#2925</a>: 改进 doxygen 插件</li>
  612. <li><a href="https://github.com/xmake-io/xmake/issues/2948">#2948</a>: 支持 OpenBSD</li>
  613. <li>添加 <code>xmake g --insecure-ssl=y</code> 配置选项去禁用 ssl 证书检测</li>
  614. <li><a href="https://github.com/xmake-io/xmake/pull/2971">#2971</a>: 使 vs/vsxmake 工程生成的结果每次保持一致</li>
  615. <li><a href="https://github.com/xmake-io/xmake/issues/3000">#3000</a>: 改进 C++ 模块构建支持,实现增量编译支持</li>
  616. <li><a href="https://github.com/xmake-io/xmake/pull/3016">#3016</a>: 改进 clang/msvc 去更好地支持 std 模块</li>
  617. </ul>
  618. <h3 id="bugs">Bugs 修复</h3>
  619. <ul>
  620. <li><a href="https://github.com/xmake-io/xmake/issues/2949">#2949</a>: 修复 vs 分组</li>
  621. <li><a href="https://github.com/xmake-io/xmake/issues/2952">#2952</a>: 修复 armlink 处理长命令失败问题</li>
  622. <li><a href="https://github.com/xmake-io/xmake/issues/2954">#2954</a>: 修复 c++ module partitions 路径无效问题</li>
  623. <li><a href="https://github.com/xmake-io/xmake/issues/3033">#3033</a>: 探测循环模块依赖</li>
  624. </ul>
  625. <h2 id="v272">v2.7.2</h2>
  626. <h3 id="">新特性</h3>
  627. <ul>
  628. <li><a href="https://github.com/xmake-io/xmake/issues/2140">#2140</a>: 支持 Windows Arm64</li>
  629. <li><a href="https://github.com/xmake-io/xmake/issues/2719">#2719</a>: 添加 <code>package.librarydeps.strict_compatibility</code> 策略严格限制包依赖兼容性</li>
  630. <li><a href="https://github.com/xmake-io/xmake/pull/2810">#2810</a>: 支持 os.execv 去执行 shell 脚本文件</li>
  631. <li><a href="https://github.com/xmake-io/xmake/pull/2817">#2817</a>: 改进规则支持依赖顺序执行</li>
  632. <li><a href="https://github.com/xmake-io/xmake/pull/2824">#2824</a>: 传递 cross-file 交叉编译环境给 meson.install 和 trybuild</li>
  633. <li><a href="https://github.com/xmake-io/xmake/pull/2856">#2856</a>: xrepo 支持从当前指定源码目录调试程序</li>
  634. <li><a href="https://github.com/xmake-io/xmake/issues/2859">#2859</a>: 改进对三方库的 trybuild 构建,利用 xmake-repo 仓库脚本更加智能化地构建三方库</li>
  635. <li><a href="https://github.com/xmake-io/xmake/issues/2879">#2879</a>: 更好的动态创建和配置 target 和 rule</li>
  636. <li><a href="https://github.com/xmake-io/xmake/issues/2374">#2374</a>: 允许 xmake 包中引入自定义规则</li>
  637. <li>添加 clang-cl 工具链</li>
  638. </ul>
  639. <h3 id="">改进</h3>
  640. <ul>
  641. <li><a href="https://github.com/xmake-io/xmake/pull/2745">#2745</a>: 改进 os.cp 支持符号链接复制</li>
  642. <li><a href="https://github.com/xmake-io/xmake/pull/2773">#2773</a>: 改进 vcpkg 包安装,支持 freebsd 平台</li>
  643. <li><a href="https://github.com/xmake-io/xmake/pull/2778">#2778</a>: 改进 xrepo.env 支持 target 的运行环境加载</li>
  644. <li><a href="https://github.com/xmake-io/xmake/issues/2783">#2783</a>: 添加摘要算法选项到 WDK 的 signtool 签名工具</li>
  645. <li><a href="https://github.com/xmake-io/xmake/pull/2787">#2787</a>: 改进 json 支持空数组</li>
  646. <li><a href="https://github.com/xmake-io/xmake/pull/2782">#2782</a>: 改进查找 matlib sdk 和运行时</li>
  647. <li><a href="https://github.com/xmake-io/xmake/issues/2793">#2793</a>: 改进 mconfdialog 配置操作体验</li>
  648. <li><a href="https://github.com/xmake-io/xmake/issues/2804">#2804</a>: 安装依赖包支持 macOS arm64/x86_64 交叉编译</li>
  649. <li><a href="https://github.com/xmake-io/xmake/issues/2809">#2809</a>: 改进 msvc 的编译优化选项</li>
  650. <li>改进 trybuild 模式,为 meson/autoconf/cmake 提供更好的交叉编译支持</li>
  651. <li><a href="https://github.com/xmake-io/xmake/discussions/2846">#2846</a>: 改进对 configfiles 的生成</li>
  652. <li><a href="https://github.com/xmake-io/xmake/issues/2866">#2866</a>: 更好地控制 rule 规则执行顺序</li>
  653. </ul>
  654. <h3 id="bugs">Bugs 修复</h3>
  655. <ul>
  656. <li><a href="https://github.com/xmake-io/xmake/issues/2740">#2740</a>: 修复 msvc 构建 C++ modules 卡死问题</li>
  657. <li><a href="https://github.com/xmake-io/xmake/issues/2875">#2875</a>: 修复构建 linux 驱动错误</li>
  658. <li><a href="https://github.com/xmake-io/xmake/issues/2885">#2885</a>: 修复 ccache 下,msvc 编译 pch 失败问题</li>
  659. </ul>
  660. <h2 id="v271">v2.7.1</h2>
  661. <h3 id="">新特性</h3>
  662. <ul>
  663. <li><a href="https://github.com/xmake-io/xmake/issues/2555">#2555</a>: 添加 fwatcher 模块和 <code>xmake watch</code> 插件命令</li>
  664. <li>添加 <code>xmake service --pull &#39;build/**&#39; outputdir</code> 命令去拉取远程构建服务器上的文件</li>
  665. <li><a href="https://github.com/xmake-io/xmake/pull/2641">#2641</a>: 改进 C++20 模块, 支持 headerunits 和 project 生成</li>
  666. <li><a href="https://github.com/xmake-io/xmake/issues/2679">#2679</a>: 支持 Mac Catalyst 构建</li>
  667. </ul>
  668. <h3 id="">改进</h3>
  669. <ul>
  670. <li><a href="https://github.com/xmake-io/xmake/issues/2576">#2576</a>: 改进从 cmake 中查找包,提供更过灵活的可选配置</li>
  671. <li><a href="https://github.com/xmake-io/xmake/issues/2577">#2577</a>: 改进 add_headerfiles(),增加 <code>{install = false}</code> 支持</li>
  672. <li><a href="https://github.com/xmake-io/xmake/issues/2603">#2603</a>: 为 ccache 默认禁用 <code>-fdirectives-only</code></li>
  673. <li><a href="https://github.com/xmake-io/xmake/issues/2580">#2580</a>: 设置 stdout 到 line 缓冲输出</li>
  674. <li><a href="https://github.com/xmake-io/xmake/issues/2571">#2571</a>: 改进分布式编译的调度算法,增加 cpu/memory 状态权重</li>
  675. <li><a href="https://github.com/xmake-io/xmake/issues/2410">#2410</a>: 改进 cmakelists 生成</li>
  676. <li><a href="https://github.com/xmake-io/xmake/issues/2690">#2690</a>: 改机传递 toolchains 到包</li>
  677. <li><a href="https://github.com/xmake-io/xmake/issues/2686">#2686</a>: 改进 armcc/armclang 支持增量编译</li>
  678. <li><a href="https://github.com/xmake-io/xmake/issues/2562">#2562</a>: 改进 rc.exe 对引用文件依赖的解析和增量编译支持</li>
  679. <li>改进默认的并行构建任务数</li>
  680. </ul>
  681. <h3 id="bugs">Bugs 修复</h3>
  682. <ul>
  683. <li><a href="https://github.com/xmake-io/xmake/issues/2614">#2614</a>: 为 msvc 修复构建 submodules2 测试工程</li>
  684. <li><a href="https://github.com/xmake-io/xmake/issues/2620">#2620</a>: 修复构建缓存导致的增量编译问题</li>
  685. <li><a href="https://github.com/xmake-io/xmake/issues/2177">#2177</a>: 修复 python.library 在 macOS 上段错误崩溃</li>
  686. <li><a href="https://github.com/xmake-io/xmake/issues/2708">#2708</a>: 修复 mode.coverage 规则的链接错误</li>
  687. <li>修复 ios/macOS framework 和 application 的 rpath 加载路径</li>
  688. </ul>
  689. <h2 id="v269">v2.6.9</h2>
  690. <h3 id="">新特性</h3>
  691. <ul>
  692. <li><a href="https://github.com/xmake-io/xmake/issues/2474">#2474</a>: 添加 icx 和 dpcpp 工具链</li>
  693. <li><a href="https://github.com/xmake-io/xmake/issues/2523">#2523</a>: 改进对 LTO 的支持</li>
  694. <li><a href="https://github.com/xmake-io/xmake/issues/2527">#2527</a>: 添加 set_runargs 接口</li>
  695. </ul>
  696. <h3 id="">改进</h3>
  697. <ul>
  698. <li>改进 tools.cmake 支持 wasm 库构建</li>
  699. <li><a href="https://github.com/xmake-io/xmake/issues/2491">#2491</a>: 如果服务器不可访问,自动回退到本地编译和缓存</li>
  700. <li><a href="https://github.com/xmake-io/xmake/issues/2514">#2514</a>: 为工程生成器禁用 Unity Build</li>
  701. <li><a href="https://github.com/xmake-io/xmake/issues/2473">#2473</a>: 改进 apt::find_package,支持从 pc 文件中查找</li>
  702. <li><a href="https://github.com/xmake-io/xmake/issues/2512">#2512</a>: 改进远程服务支持超时配置</li>
  703. </ul>
  704. <h3 id="bugs">Bugs 修复</h3>
  705. <ul>
  706. <li><a href="https://github.com/xmake-io/xmake/issues/2488">#2488</a>: 修复从 windows 到 linux 的远程编译路径问题</li>
  707. <li><a href="https://github.com/xmake-io/xmake/issues/2504">#2504</a>: 修复在 msys2 上远程编译失败问题</li>
  708. <li><a href="https://github.com/xmake-io/xmake/issues/2525">#2525</a>: 修复安装依赖包时候卡死问题</li>
  709. <li><a href="https://github.com/xmake-io/xmake/issues/2557">#2557</a>: 修复 cmake.find_package 查找 links 错误</li>
  710. <li>修复缓存导致的预处理文件路径冲突问题</li>
  711. </ul>
  712. <h2 id="v268">v2.6.8</h2>
  713. <h3 id="">新特性</h3>
  714. <ul>
  715. <li><a href="https://github.com/xmake-io/xmake/pull/2447">#2447</a>: 添加 qt.qmlplugin 规则和 qmltypesregistrar 支持</li>
  716. <li><a href="https://github.com/xmake-io/xmake/issues/2446">#2446</a>: 支持 target 分组安装</li>
  717. <li><a href="https://github.com/xmake-io/xmake/issues/2469">#2469</a>: 产生 vcpkg-configuration.json</li>
  718. </ul>
  719. <h3 id="">改进</h3>
  720. <ul>
  721. <li>添加 <code>preprocessor.linemarkers</code> 策略去禁用 linemarkers 去加速 ccache/distcc</li>
  722. <li><a href="https://github.com/xmake-io/xmake/issues/2389">#2389</a>: 改进 <code>xmake run</code> 支持并行运行目标程序</li>
  723. <li><a href="https://github.com/xmake-io/xmake/issues/2417">#2417</a>: 切换 option/showmenu 的默认值,默认开启</li>
  724. <li><a href="https://github.com/xmake-io/xmake/pull/2440">#2440</a>: 改进安装包的失败错误信息</li>
  725. <li><a href="https://github.com/xmake-io/xmake/pull/2438">#2438</a>: 确保生成的 vsxmake 工程不会随机变动</li>
  726. <li><a href="https://github.com/xmake-io/xmake/issues/2434">#2434</a>: 改进插件管理器,允许多插件管理</li>
  727. <li><a href="https://github.com/xmake-io/xmake/issues/2421">#2421</a>: 改进配置选项菜单</li>
  728. <li><a href="https://github.com/xmake-io/xmake/issues/2425">#2425</a>: 添加 <code>preprocessor.gcc.directives_only</code> 策略</li>
  729. <li><a href="https://github.com/xmake-io/xmake/issues/2455">#2455</a>: 改进 emcc 的优化选项</li>
  730. <li><a href="https://github.com/xmake-io/xmake/issues/2467">#2467</a>: 支持回退到原始文件编译,兼容 msvc 预处理器的一些问题</li>
  731. <li><a href="https://github.com/xmake-io/xmake/issues/2452">#2452</a>: 添加 build.warning 策略</li>
  732. </ul>
  733. <h3 id="bugs">Bugs 修复</h3>
  734. <ul>
  735. <li><a href="https://github.com/xmake-io/xmake/pull/2435">#2435</a>: 修复无法搜索带有 <code>.</code> 的包名</li>
  736. <li><a href="https://github.com/xmake-io/xmake/issues/2445">#2445</a>: 修复 windows 上 ccache 构建失败问题</li>
  737. <li><a href="https://github.com/xmake-io/xmake/issues/2452">#2452</a>: 修复 ccache 下,警告无法输出的问题</li>
  738. </ul>
  739. <h2 id="v267">v2.6.7</h2>
  740. <h3 id="">新特性</h3>
  741. <ul>
  742. <li><a href="https://github.com/xmake-io/xmake/issues/2318">#2318</a>: 添加 <code>xmake f --policies=</code> 配置参数去修改默认策略</li>
  743. </ul>
  744. <h3 id="">改进</h3>
  745. <ul>
  746. <li>如果预编译包构建失败,自动回退到源码包构建</li>
  747. <li><a href="https://github.com/xmake-io/xmake/issues/2387">#2387</a>: 改进 pkgconfig 和 find_package</li>
  748. <li>添加 <code>build.ccache</code> 策略,用于在工程中配置编译缓存</li>
  749. </ul>
  750. <h3 id="bugs">Bugs 修复</h3>
  751. <ul>
  752. <li><a href="https://github.com/xmake-io/xmake/issues/2382">#2382</a>: 修改 headeronly 包配置</li>
  753. <li><a href="https://github.com/xmake-io/xmake/issues/2388">#2388</a>: 修复路径问题</li>
  754. <li><a href="https://github.com/xmake-io/xmake/issues/2385">#2385</a>: 修复 cmake/find_package</li>
  755. <li><a href="https://github.com/xmake-io/xmake/issues/2395">#2395</a>: 修复 c++ modules</li>
  756. <li>修复 find_qt 问题</li>
  757. </ul>
  758. <h2 id="v266">v2.6.6</h2>
  759. <h3 id="">新特性</h3>
  760. <ul>
  761. <li><a href="https://github.com/xmake-io/xmake/issues/2327">#2327</a>: 支持 nvidia-hpc-sdk 工具链中的 nvc/nvc++/nvfortran 编译器</li>
  762. <li>添加 path 实例接口</li>
  763. <li><a href="https://github.com/xmake-io/xmake/pull/2344">#2344</a>: 添加 lz4 压缩模块</li>
  764. <li><a href="https://github.com/xmake-io/xmake/pull/2349">#2349</a>: 添加 keil/c51 工程支持</li>
  765. <li><a href="https://github.com/xmake-io/xmake/issues/274">#274</a>: 跨平台分布式编译支持</li>
  766. <li>使用内置的本地缓存替代 ccache</li>
  767. </ul>
  768. <h3 id="">改进</h3>
  769. <ul>
  770. <li><a href="https://github.com/xmake-io/xmake/issues/2309">#2309</a>: 远程编译支持用户授权验证</li>
  771. <li>改进远程编译,增加对 lz4 压缩支持</li>
  772. </ul>
  773. <h3 id="bugs">Bugs 修复</h3>
  774. <ul>
  775. <li>修复选择包版本时候 lua 栈不平衡导致的崩溃问题</li>
  776. </ul>
  777. <h2 id="v265">v2.6.5</h2>
  778. <h3 id="">新特性</h3>
  779. <ul>
  780. <li><a href="https://github.com/xmake-io/xmake/issues/2138">#2138</a>: 支持模板包</li>
  781. <li><a href="https://github.com/xmake-io/xmake/issues/2185">#2185</a>: 添加 <code>--appledev=simulator</code> 去改进 Apple 模拟器目标编译支持</li>
  782. <li><a href="https://github.com/xmake-io/xmake/issues/2227">#2227</a>: 改进 cargo 包,支持指定 Cargo.toml 文件</li>
  783. <li>改进 <code>add_requires</code> 支持 git command 作为版本</li>
  784. <li><a href="https://github.com/xmake-io/xmake/issues/622">#622</a>: 支持远程编译</li>
  785. <li><a href="https://github.com/xmake-io/xmake/issues/2282">#2282</a>: 添加 <code>add_filegroups</code> 接口为 vs/vsxmake/cmake generator 增加文件组支持</li>
  786. </ul>
  787. <h3 id="">改进</h3>
  788. <ul>
  789. <li><a href="https://github.com/xmake-io/xmake/pull/2137">#2137</a>: 改进 path 模块</li>
  790. <li>macOS 下,减少 50% 的 Xmake 二进制文件大小</li>
  791. <li>改进 tools/autoconf,cmake 去更好地支持工具链切换</li>
  792. <li><a href="https://github.com/xmake-io/xmake/pull/2221">#2221</a>: 改进注册表 api 去支持 unicode</li>
  793. <li><a href="https://github.com/xmake-io/xmake/issues/2225">#2225</a>: 增加对 protobuf 的依赖分析和构建支持</li>
  794. <li><a href="https://github.com/xmake-io/xmake/issues/2265">#2265</a>: 排序 CMakeLists.txt</li>
  795. <li>改进 os.files 的文件遍历速度</li>
  796. </ul>
  797. <h3 id="bugs">Bugs 修复</h3>
  798. <ul>
  799. <li><a href="https://github.com/xmake-io/xmake/issues/2233">#2233</a>: 修复 c++ modules 依赖</li>
  800. </ul>
  801. <h2 id="v264">v2.6.4</h2>
  802. <h3 id="">新特性</h3>
  803. <ul>
  804. <li><a href="https://github.com/xmake-io/xmake/issues/2011">#2011</a>: 支持继承和局部修改官方包,例如对现有的包更换 urls 和 versions</li>
  805. <li>支持在 sparc, alpha, powerpc, s390x 和 sh4 上编译运行 xmake</li>
  806. <li>为 package() 添加 on_download 自定义下载</li>
  807. <li><a href="https://github.com/xmake-io/xmake/issues/2021">#2021</a>: 支持 Linux/Windows 下构建 Swift 程序</li>
  808. <li><a href="https://github.com/xmake-io/xmake/issues/2024">#2024</a>: 添加 asn1c 支持</li>
  809. <li><a href="https://github.com/xmake-io/xmake/issues/2031">#2031</a>: 为 add_files 增加 linker scripts 和 version scripts 支持</li>
  810. <li><a href="https://github.com/xmake-io/xmake/issues/2033">#2033</a>: 捕获 ctrl-c 去打印当前运行栈,用于调试分析卡死问题</li>
  811. <li><a href="https://github.com/xmake-io/xmake/pull/2059">#2059</a>: 添加 <code>xmake update --integrate</code> 命令去整合 shell</li>
  812. <li><a href="https://github.com/xmake-io/xmake/issues/2070">#2070</a>: 添加一些内置的 xrepo env 环境配置</li>
  813. <li><a href="https://github.com/xmake-io/xmake/pull/2117">#2117</a>: 支持为任意平台传递工具链到包</li>
  814. <li><a href="https://github.com/xmake-io/xmake/issues/2121">#2121</a>: 支持导出指定的符号列表,可用于减少动态库的大小</li>
  815. </ul>
  816. <h3 id="">改进</h3>
  817. <ul>
  818. <li><a href="https://github.com/xmake-io/xmake/issues/2036">#2036</a>: 改进 xrepo 支持从配置文件批量安装包,例如:<code>xrepo install xxx.lua</code></li>
  819. <li><a href="https://github.com/xmake-io/xmake/issues/2039">#2039</a>: 改进 vs generator 的 filter 目录展示</li>
  820. <li><a href="https://github.com/xmake-io/xmake/issues/2025">#2025</a>: 支持为 phony 和 headeronly 目标生成 vs 工程</li>
  821. <li>优化 vs 和 codesign 的探测速度</li>
  822. <li><a href="https://github.com/xmake-io/xmake/issues/2077">#2077</a>: 改进 vs 工程生成器去支持 cuda</li>
  823. </ul>
  824. <h3 id="bugs">Bugs 修复</h3>
  825. <ul>
  826. <li><a href="https://github.com/xmake-io/xmake/issues/2005">#2005</a>: 修复 path.extension</li>
  827. <li><a href="https://github.com/xmake-io/xmake/issues/2008">#2008</a>: 修复 windows manifest 文件编译</li>
  828. <li><a href="https://github.com/xmake-io/xmake/issues/2016">#2016</a>: 修复 vs project generator 里,对象文件名冲突导致的编译失败</li>
  829. </ul>
  830. <h2 id="v263">v2.6.3</h2>
  831. <h3 id="">新特性</h3>
  832. <ul>
  833. <li><a href="https://github.com/xmake-io/xmake/issues/1928">#1298</a>: 支持 vcpkg 清单模式安装包,实现安装包的版本选择</li>
  834. <li><a href="https://github.com/xmake-io/xmake/issues/1896">#1896</a>: 添加 <code>python.library</code> 规则去构建 pybind 模块,并且支持 soabi</li>
  835. <li><a href="https://github.com/xmake-io/xmake/issues/1939">#1939</a>: 添加 <code>remove_files</code>, <code>remove_headerfiles</code> 并且标记 <code>del_files</code> 作为废弃接口</li>
  836. <li>将 on_config 作为正式的公开接口,用于 target 和 rule</li>
  837. <li>添加 riscv32/64 支持</li>
  838. <li><a href="https://github.com/xmake-io/xmake/issues/1970">#1970</a>: 添加 CMake wrapper 支持在 CMakelists 中去调用 xrepo 集成 C/C++ 包</li>
  839. <li>添加内置的 github 镜像加速 pac 代理文件, <code>xmake g --proxy_pac=github_mirror.lua</code></li>
  840. </ul>
  841. <h3 id="">改进</h3>
  842. <ul>
  843. <li><a href="https://github.com/xmake-io/xmake/issues/1923">#1923</a>: 改进构建 linux 驱动,支持设置自定义 linux-headers 路径</li>
  844. <li><a href="https://github.com/xmake-io/xmake/issues/1962">#1962</a>: 改进 armclang 工具链去支持构建 asm</li>
  845. <li><a href="https://github.com/xmake-io/xmake/pull/1959">#1959</a>: 改进 vstudio 工程生成器</li>
  846. <li><a href="https://github.com/xmake-io/xmake/issues/1969">#1969</a>: 添加默认的 option 描述</li>
  847. </ul>
  848. <h3 id="bugs">Bugs 修复</h3>
  849. <ul>
  850. <li><a href="https://github.com/xmake-io/xmake/issues/1875">#1875</a>: 修复部署生成 Android Qt 程序包失败问题</li>
  851. <li><a href="https://github.com/xmake-io/xmake/issues/1973">#1973</a>: 修复合并静态库</li>
  852. <li><a href="https://github.com/xmake-io/xmake/pull/1982">#1982</a>: 修复 clang 下对 c++20 子模块的依赖构建</li>
  853. </ul>
  854. <h2 id="v262">v2.6.2</h2>
  855. <h3 id="">新特性</h3>
  856. <ul>
  857. <li><a href="https://github.com/xmake-io/xmake/issues/1902">#1902</a>: 支持构建 linux 内核驱动模块</li>
  858. <li><a href="https://github.com/xmake-io/xmake/issues/1913">#1913</a>: 通过 group 模式匹配,指定构建和运行一批目标程序</li>
  859. </ul>
  860. <h3 id="">改进</h3>
  861. <ul>
  862. <li><a href="https://github.com/xmake-io/xmake/issues/1872">#1872</a>: 支持转义 set_configvar 中字符串值</li>
  863. <li><a href="https://github.com/xmake-io/xmake/issues/1888">#1888</a>: 改进 windows 安装器,避免错误删除其他安装目录下的文件</li>
  864. <li><a href="https://github.com/xmake-io/xmake/issues/1895">#1895</a>: 改进 <code>plugin.vsxmake.autoupdate</code> 规则</li>
  865. <li><a href="https://github.com/xmake-io/xmake/issues/1893">#1893</a>: 改进探测 icc 和 ifort 工具链</li>
  866. <li><a href="https://github.com/xmake-io/xmake/pull/1905">#1905</a>: 改进 msvc 对 external 头文件搜索探测支持</li>
  867. <li><a href="https://github.com/xmake-io/xmake/pull/1904">#1904</a>: 改进 vs201x 工程生成器</li>
  868. <li>添加 <code>XMAKE_THEME</code> 环境变量去切换主题配置</li>
  869. <li><a href="https://github.com/xmake-io/xmake/issues/1907">#1907</a>: 添加 <code>-f/--force</code> 参数使得 <code>xmake create</code> 可以在费控目录被强制创建</li>
  870. <li><a href="https://github.com/xmake-io/xmake/pull/1917">#1917</a>: 改进 find_package 和配置</li>
  871. </ul>
  872. <h3 id="bugs">Bugs 修复</h3>
  873. <ul>
  874. <li><a href="https://github.com/xmake-io/xmake/issues/1885">#1885</a>: 修复 package:fetch_linkdeps 链接顺序问题</li>
  875. <li><a href="https://github.com/xmake-io/xmake/issues/1903">#1903</a>: 修复包链接顺序</li>
  876. </ul>
  877. <h2 id="v261">v2.6.1</h2>
  878. <h3 id="">新特性</h3>
  879. <ul>
  880. <li><a href="https://github.com/xmake-io/xmake/issues/1799">#1799</a>: 支持混合 Rust 和 C++ 程序,以及集成 Cargo 依赖库</li>
  881. <li>添加 <code>utils.glsl2spv</code> 规则去编译 <em>.vert/</em>.frag shader 文件生成 spirv 文件和二进制 C 头文件</li>
  882. </ul>
  883. <h3 id="">改进</h3>
  884. <ul>
  885. <li>默认切换到 Lua5.4 运行时</li>
  886. <li><a href="https://github.com/xmake-io/xmake/issues/1776">#1776</a>: 改进 system::find_package,支持从环境变量中查找系统库</li>
  887. <li><a href="https://github.com/xmake-io/xmake/issues/1786">#1786</a>: 改进 apt:find_package,支持查找 alias 包</li>
  888. <li><a href="https://github.com/xmake-io/xmake/issues/1819">#1819</a>: 添加预编译头到 cmake 生成器</li>
  889. <li>改进 C++20 Modules 为 msvc 支持 std 标准库</li>
  890. <li><a href="https://github.com/xmake-io/xmake/issues/1792">#1792</a>: 添加自定义命令到 vs 工程生成器</li>
  891. <li><a href="https://github.com/xmake-io/xmake/issues/1835">#1835</a>: 改进 MDK 程序构建支持,增加 <code>set_runtimes("microlib")</code></li>
  892. <li><a href="https://github.com/xmake-io/xmake/issues/1858">#1858</a>: 改进构建 c++20 modules,修复跨 target 构建问题</li>
  893. <li>添加 $XMAKE_BINARY_REPO 和 $XMAKE_MAIN_REPO 仓库设置环境变量</li>
  894. <li><a href="https://github.com/xmake-io/xmake/issues/1865">#1865</a>: 改进 openmp 工程</li>
  895. <li><a href="https://github.com/xmake-io/xmake/issues/1845">#1845</a>: 为静态库安装 pdb 文件</li>
  896. </ul>
  897. <h3 id="bugs">Bugs 修复</h3>
  898. <ul>
  899. <li>修复语义版本中解析带有 0 前缀的 build 字符串问题</li>
  900. <li><a href="https://github.com/libbpf/libbpf-bootstrap/issues/50">#50</a>: 修复 rule 和构建 bpf 程序 bug</li>
  901. <li><a href="https://github.com/xmake-io/xmake/issues/1610">#1610</a>: 修复 <code>xmake f --menu</code> 在 vscode 终端下按键无响应,并且支持 ConPTY 终端虚拟按键</li>
  902. </ul>
  903. <h2 id="v259">v2.5.9</h2>
  904. <h3 id="">新特性</h3>
  905. <ul>
  906. <li><a href="https://github.com/xmake-io/xmake/issues/1736">#1736</a>: 支持 wasi-sdk 工具链</li>
  907. <li>支持 Lua 5.4 运行时</li>
  908. <li>添加 gcc-8, gcc-9, gcc-10, gcc-11 工具链</li>
  909. <li><a href="https://github.com/xmake-io/xmake/issues/1632">#1623</a>: 支持 find_package 从 cmake 查找包</li>
  910. <li><a href="https://github.com/xmake-io/xmake/issues/1747">#1747</a>: 添加 <code>set_kind("headeronly")</code> 更好的处理 headeronly 库的安装</li>
  911. <li><a href="https://github.com/xmake-io/xmake/issues/1019">#1019</a>: 支持 Unity build</li>
  912. <li><a href="https://github.com/xmake-io/xmake/issues/1438">#1438</a>: 增加 <code>xmake l cli.amalgamate</code> 命令支持代码合并</li>
  913. <li><a href="https://github.com/xmake-io/xmake/issues/1756">#1765</a>: 支持 nim 语言</li>
  914. <li><a href="https://github.com/xmake-io/xmake/issues/1762">#1762</a>: 为 <code>xrepo env</code> 管理和切换指定的环境配置</li>
  915. <li><a href="https://github.com/xmake-io/xmake/issues/1767">#1767</a>: 支持 Circle 编译器</li>
  916. <li><a href="https://github.com/xmake-io/xmake/issues/1753">#1753</a>: 支持 Keil/MDK 的 armcc/armclang 工具链</li>
  917. <li><a href="https://github.com/xmake-io/xmake/issues/1774">#1774</a>: 添加 table.contains api</li>
  918. <li><a href="https://github.com/xmake-io/xmake/issues/1735">#1735</a>: 添加自定义命令到 cmake 生成器</li>
  919. <li><a href="https://github.com/xmake-io/xmake/issues/1781">#1781</a>: 改进 get.sh 安装脚本支持 nixos</li>
  920. </ul>
  921. <h3 id="">改进</h3>
  922. <ul>
  923. <li><a href="https://github.com/xmake-io/xmake/issues/1528">#1528</a>: 检测 c++17/20 特性</li>
  924. <li><a href="https://github.com/xmake-io/xmake/issues/1729">#1729</a>: 改进 C++20 modules 对 clang/gcc/msvc 的支持,支持模块间依赖编译和并行优化</li>
  925. <li><a href="https://github.com/xmake-io/xmake/issues/1779">#1779</a>: 改进 ml.exe/x86,移除内置的 <code>-Gd</code> 选项</li>
  926. </ul>
  927. <h2 id="v258">v2.5.8</h2>
  928. <h3 id="">新特性</h3>
  929. <ul>
  930. <li><a href="https://github.com/xmake-io/xmake/issues/388">#388</a>: Pascal 语言支持,可以使用 fpc 来编译 free pascal</li>
  931. <li><a href="https://github.com/xmake-io/xmake/issues/1682">#1682</a>: 添加可选的额lua5.3 运行时替代 luajit,提供更好的平台兼容性。</li>
  932. <li><a href="https://github.com/xmake-io/xmake/issues/1622">#1622</a>: 支持 Swig</li>
  933. <li><a href="https://github.com/xmake-io/xmake/issues/1714">#1714</a>: 支持内置 cmake 等第三方项目的混合编译</li>
  934. <li><a href="https://github.com/xmake-io/xmake/issues/1715">#1715</a>: 支持探测编译器语言标准特性,并且新增 <code>check_macros</code> 检测接口</li>
  935. <li>xmake 支持在 Loongarch 架构上运行</li>
  936. </ul>
  937. <h3 id="">改进</h3>
  938. <ul>
  939. <li><a href="https://github.com/xmake-io/xmake/issues/1618">#1618</a>: 改进 vala 支持构建动态库和静态库程序</li>
  940. <li>改进 Qt 规则去支持 Qt 4.x</li>
  941. <li>改进 <code>set_symbols("debug")</code> 支持 clang/windows 生成 pdb 文件</li>
  942. <li><a href="https://github.com/xmake-io/xmake/issues/1638">#1638</a>: 改进合并静态库</li>
  943. <li>改进 on_load/after_load 去支持动态的添加 target deps</li>
  944. <li><a href="https://github.com/xmake-io/xmake/pull/1675">#1675</a>: 针对 mingw 平台,重命名动态库和导入库文件名后缀</li>
  945. <li><a href="https://github.com/xmake-io/xmake/issues/1694">#1694</a>: 支持在 set_configvar 中定义一个不带引号的字符串变量</li>
  946. <li>改进对 Android NDK r23 的支持</li>
  947. <li>为 <code>set_languages</code> 新增 <code>c++latest</code> 和 <code>clatest</code> 配置值</li>
  948. <li><a href="https://github.com/xmake-io/xmake/issues/1720">#1720</a>: 添加 <code>save_scope</code> 和 <code>restore_scope</code> 去修复 <code>check_xxx</code> 相关接口</li>
  949. <li><a href="https://github.com/xmake-io/xmake/issues/1726">#1726</a>: 改进 compile_commands 生成器去支持 nvcc</li>
  950. </ul>
  951. <h3 id="bugs">Bugs 修复</h3>
  952. <ul>
  953. <li><a href="https://github.com/xmake-io/xmake/issues/1671">#1671</a>: 修复安装预编译包后,*.cmake 里面的一些不正确的绝对路径</li>
  954. <li><a href="https://github.com/xmake-io/xmake/issues/1689">#1689</a>: 修复 vsxmake 插件的 unicode 字符显示和加载问题</li>
  955. </ul>
  956. <h2 id="v257">v2.5.7</h2>
  957. <h3 id="">新特性</h3>
  958. <ul>
  959. <li><a href="https://github.com/xmake-io/xmake/issues/1534">#1534</a>: 新增对 Vala 语言的支持</li>
  960. <li><a href="https://github.com/xmake-io/xmake/issues/1544">#1544</a>: 添加 utils.bin2c 规则去自动从二进制资源文件产生 .h 头文件并引入到 C/C++ 代码中</li>
  961. <li><a href="https://github.com/xmake-io/xmake/issues/1547">#1547</a>: option/snippets 支持运行检测模式,并且可以获取输出</li>
  962. <li><a href="https://github.com/xmake-io/xmake/issues/1567">#1567</a>: 新增 xmake-requires.lock 包依赖锁定支持</li>
  963. <li><a href="https://github.com/xmake-io/xmake/issues/1597">#1597</a>: 支持编译 metal 文件到 metallib,并改进 xcode.application 规则去生成内置的 default.metallib 到 app</li>
  964. </ul>
  965. <h3 id="">改进</h3>
  966. <ul>
  967. <li><a href="https://github.com/xmake-io/xmake/issues/1540">#1540</a>: 更好更方便地编译自动生成的代码</li>
  968. <li><a href="https://github.com/xmake-io/xmake/issues/1578">#1578</a>: 改进 add_repositories 去更好地支持相对路径</li>
  969. <li><a href="https://github.com/xmake-io/xmake/issues/1582">#1582</a>: 改进安装和 os.cp 支持符号链接</li>
  970. </ul>
  971. <h3 id="bugs">Bugs 修复</h3>
  972. <ul>
  973. <li><a href="https://github.com/xmake-io/xmake/issues/1531">#1531</a>: 修复 targets 加载失败的错误信息提示错误</li>
  974. </ul>
  975. <h2 id="v256">v2.5.6</h2>
  976. <h3 id="">新特性</h3>
  977. <ul>
  978. <li><a href="https://github.com/xmake-io/xmake/issues/1483">#1483</a>: 添加 <code>os.joinenvs()</code> 和改进包工具环境</li>
  979. <li><a href="https://github.com/xmake-io/xmake/issues/1523">#1523</a>: 添加 <code>set_allowedmodes</code>, <code>set_allowedplats</code> 和 <code>set_allowedarchs</code></li>
  980. <li><a href="https://github.com/xmake-io/xmake/issues/1523">#1523</a>: 添加 <code>set_defaultmode</code>, <code>set_defaultplat</code> 和 <code>set_defaultarchs</code></li>
  981. </ul>
  982. <h3 id="">改进</h3>
  983. <ul>
  984. <li>改进 vs/vsxmake 工程插件支持 vs2022</li>
  985. <li><a href="https://github.com/xmake-io/xmake/issues/1513">#1513</a>: 改进 windows 预编译包的兼容性问题</li>
  986. <li>改进 vcpkg 包在 windows 上的查找</li>
  987. <li>改进对 Qt6 的支持</li>
  988. </ul>
  989. <h3 id="bugs">Bugs 修复</h3>
  990. <ul>
  991. <li><a href="https://github.com/xmake-io/xmake-repo/pull/489">#489</a>: 修复 run os.execv 带有过长环境变量值出现的一些问题</li>
  992. </ul>
  993. <h2 id="v255">v2.5.5</h2>
  994. <h3 id="">新特性</h3>
  995. <ul>
  996. <li><a href="https://github.com/xmake-io/xmake/issues/1421">#1421</a>: 针对 target 目标,增加目标文件名的前缀,后缀和扩展名设置接口。</li>
  997. <li><a href="https://github.com/xmake-io/xmake/issues/1422">#1422</a>: 支持从 vcpkg, conan 中搜索包</li>
  998. <li><a href="https://github.com/xmake-io/xmake/issues/1424">#1424</a>: 设置 binary 作为默认的 target 目标类型</li>
  999. <li><a href="https://github.com/xmake-io/xmake/issues/1140">#1140</a>: 支持安装时候,手动选择从第三包包管理器安装包</li>
  1000. <li><a href="https://github.com/xmake-io/xmake/issues/1339">#1339</a>: 改进 <code>xmake package</code> 去产生新的本地包格式,无缝集成 <code>add_requires</code>,并且新增生成远程包支持</li>
  1001. <li>添加 <code>appletvos</code> 编译平台支持, <code>xmake f -p appletvos</code></li>
  1002. <li><a href="https://github.com/xmake-io/xmake/issues/1437">#1437</a>: 为包添加 headeronly 库类型去忽略 <code>vs_runtime</code></li>
  1003. <li><a href="https://github.com/xmake-io/xmake/issues/1351">#1351</a>: 支持导入导出当前配置</li>
  1004. <li><a href="https://github.com/xmake-io/xmake/issues/1454">#1454</a>: 支持下载安装 windows 预编译包</li>
  1005. </ul>
  1006. <h3 id="">改进</h3>
  1007. <ul>
  1008. <li><a href="https://github.com/xmake-io/xmake/issues/1425">#1425</a>: 改进 tools/meson 去加载 msvc 环境,并且增加一些内置配置。</li>
  1009. <li><a href="https://github.com/xmake-io/xmake/issues/1442">#1442</a>: 支持从 git url 去下载包资源文件</li>
  1010. <li><a href="https://github.com/xmake-io/xmake/issues/1389">#1389</a>: 支持添加工具链环境到 <code>xrepo env</code></li>
  1011. <li><a href="https://github.com/xmake-io/xmake/issues/1453">#1453</a>: 支持 protobuf 规则导出头文件搜索目录</li>
  1012. <li>新增对 vs2022 的支持</li>
  1013. </ul>
  1014. <h3 id="bugs">Bugs 修复</h3>
  1015. <ul>
  1016. <li><a href="https://github.com/xmake-io/xmake/issues/1413">#1413</a>: 修复查找包过程中出现的挂起卡死问题</li>
  1017. <li><a href="https://github.com/xmake-io/xmake/issues/1420">#1420</a>: 修复包检测和配置缓存</li>
  1018. <li><a href="https://github.com/xmake-io/xmake/issues/1445">#1445</a>: 修复 WDK 驱动签名错误</li>
  1019. <li><a href="https://github.com/xmake-io/xmake/issues/1465">#1465</a>: 修复缺失的链接目录</li>
  1020. </ul>
  1021. <h2 id="v254">v2.5.4</h2>
  1022. <h3 id="">新特性</h3>
  1023. <ul>
  1024. <li><a href="https://github.com/xmake-io/xmake/issues/1323">#1323</a>: 支持从 apt 查找安装包,<code>add_requires("apt::zlib1g-dev")</code></li>
  1025. <li><a href="https://github.com/xmake-io/xmake/issues/1337">#1337</a>: 添加环境变量去改进包安装和缓存目录</li>
  1026. <li><a href="https://github.com/xmake-io/xmake/issues/1338">#1338</a>: 支持导入导出已安装的包</li>
  1027. <li><a href="https://github.com/xmake-io/xmake/issues/1087">#1087</a>: 添加 <code>xrepo env shell</code> 并且支持从 <code>add_requires/xmake.lua</code> 加载包环境</li>
  1028. <li><a href="https://github.com/xmake-io/xmake/issues/1313">#1313</a>: 为 <code>add_requires/add_deps</code> 添加私有包支持</li>
  1029. <li><a href="https://github.com/xmake-io/xmake/issues/1358">#1358</a>: 支持设置镜像 url 站点加速包下载</li>
  1030. <li><a href="https://github.com/xmake-io/xmake/pull/1369">#1369</a>: 为 vcpkg 增加 arm/arm64 包集成支持,感谢 @fallending</li>
  1031. <li><a href="https://github.com/xmake-io/xmake/pull/1405">#1405</a>: 添加 portage 包管理器支持,感谢 @Phate6660</li>
  1032. </ul>
  1033. <h3 id="">改进</h3>
  1034. <ul>
  1035. <li>改进 <code>find_package</code> 并且添加 <code>package:find_package</code> 接口在包定义中方便查找包</li>
  1036. <li>移除废弃的 <code>set_config_h</code> 和 <code>set_config_h_prefix</code> 接口</li>
  1037. <li><a href="https://github.com/xmake-io/xmake/issues/1343">#1343</a>: 改进搜索本地包文件</li>
  1038. <li><a href="https://github.com/xmake-io/xmake/issues/1347">#1347</a>: 针对 binary 包改进 vs_runtime 配置</li>
  1039. <li><a href="https://github.com/xmake-io/xmake/issues/1353">#1353</a>: 改进 del_files() 去加速匹配文件</li>
  1040. <li><a href="https://github.com/xmake-io/xmake/issues/1349">#1349</a>: 改进 xrepo env shell 支持,更好的支持 powershell</li>
  1041. </ul>
  1042. <h3 id="bugs">Bugs 修复</h3>
  1043. <ul>
  1044. <li><a href="https://github.com/xmake-io/xmake/issues/1380">#1380</a>: 修复 <code>add_packages()</code> 失败问题</li>
  1045. <li><a href="https://github.com/xmake-io/xmake/issues/1381">#1381</a>: 修复添加本地 git 包源问题</li>
  1046. <li><a href="https://github.com/xmake-io/xmake/issues/1391">#1391</a>: 修复 cuda/nvcc 工具链</li>
  1047. </ul>
  1048. <h2 id="v253">v2.5.3</h2>
  1049. <h3 id="">新特性</h3>
  1050. <ul>
  1051. <li><a href="https://github.com/xmake-io/xmake/issues/1259">#1259</a>: 支持 <code>add_files("*.def")</code> 添加 def 文件去导出 windows/dll 符号</li>
  1052. <li><a href="https://github.com/xmake-io/xmake/issues/1267">#1267</a>: 添加 <code>find_package("nvtx")</code></li>
  1053. <li><a href="https://github.com/xmake-io/xmake/issues/1274">#1274</a>: 添加 <code>platform.linux.bpf</code> 规则去构建 linux/bpf 程序</li>
  1054. <li><a href="https://github.com/xmake-io/xmake/issues/1280">#1280</a>: 支持 fetchonly 包去扩展改进 find_package</li>
  1055. <li>支持自动拉取远程 ndk 工具链包和集成</li>
  1056. <li><a href="https://github.com/xmake-io/xmake/issues/1268">#1268</a>: 添加 <code>utils.install.pkgconfig_importfiles</code> 规则去安装 <code>*.pc</code> 文件</li>
  1057. <li><a href="https://github.com/xmake-io/xmake/issues/1268">#1268</a>: 添加 <code>utils.install.cmake_importfiles</code> 规则去安装 <code>*.cmake</code> 导入文件</li>
  1058. <li><a href="https://github.com/xmake-io/xmake-repo/pull/348">#348</a>: 添加 <code>platform.longpaths</code> 策略去支持 git longpaths</li>
  1059. <li><a href="https://github.com/xmake-io/xmake/issues/1314">#1314</a>: 支持安装使用 conda 包</li>
  1060. <li><a href="https://github.com/xmake-io/xmake/issues/1120">#1120</a>: 添加 <code>core.base.cpu</code> 模块并且改进 <code>os.cpuinfo()</code></li>
  1061. <li><a href="https://github.com/xmake-io/xmake/issues/1325">#1325</a>: 为 <code>add_configfiles</code> 添加内建的 git 变量</li>
  1062. </ul>
  1063. <h2 id="">改进</h2>
  1064. <ul>
  1065. <li><a href="https://github.com/xmake-io/xmake/issues/1275">#1275</a>: 改进 vsxmake 生成器,支持条件化编译 targets</li>
  1066. <li><a href="https://github.com/xmake-io/xmake/pull/1290">#1290</a>: 增加对 Android ndk r22 以上版本支持</li>
  1067. <li><a href="https://github.com/xmake-io/xmake/issues/1311">#1311</a>: 为 vsxmake 工程添加包 dll 路径,确保调试运行加载正常</li>
  1068. </ul>
  1069. <h2 id="bugs">Bugs 修复</h2>
  1070. <ul>
  1071. <li><a href="https://github.com/xmake-io/xmake/issues/1266">#1266</a>: 修复在 <code>add_repositories</code> 中的 repo 相对路径</li>
  1072. <li><a href="https://github.com/xmake-io/xmake/issues/1288">#1288</a>: 修复 vsxmake 插件处理 option 配置问题</li>
  1073. </ul>
  1074. <h2 id="v252">v2.5.2</h2>
  1075. <h3 id="">新特性</h3>
  1076. <ul>
  1077. <li><a href="https://github.com/xmake-io/xmake/issues/955#issuecomment-766481512">#955</a>: 支持 <code>zig cc</code> 和 <code>zig c++</code> 作为 c/c++ 编译器</li>
  1078. <li><a href="https://github.com/xmake-io/xmake/issues/955#issuecomment-768193083">#955</a>: 支持使用 zig 进行交叉编译</li>
  1079. <li><a href="https://github.com/xmake-io/xmake/issues/1177">#1177</a>: 改进终端和 color codes 探测</li>
  1080. <li><a href="https://github.com/xmake-io/xmake/issues/1216">#1216</a>: 传递自定义 includes 脚本给 xrepo</li>
  1081. <li>添加 linuxos 内置模块获取 linux 系统信息</li>
  1082. <li><a href="https://github.com/xmake-io/xmake/issues/1217">#1217</a>: 支持当编译项目时自动拉取工具链</li>
  1083. <li><a href="https://github.com/xmake-io/xmake/issues/1123">#1123</a>: 添加 <code>rule("utils.symbols.export_all")</code> 自动导出所有 windows/dll 中的符号</li>
  1084. <li><a href="https://github.com/xmake-io/xmake/issues/1181">#1181</a>: 添加 <code>utils.platform.gnu2mslib(mslib, gnulib)</code> 模块接口去转换 mingw/xxx.dll.a 到 msvc xxx.lib</li>
  1085. <li><a href="https://github.com/xmake-io/xmake/issues/1246">#1246</a>: 改进规则支持新的批处理命令去简化自定义规则实现</li>
  1086. <li><a href="https://github.com/xmake-io/xmake/issues/1239">#1239</a>: 添加 <code>add_extsources</code> 去改进外部包的查找</li>
  1087. <li><a href="https://github.com/xmake-io/xmake/issues/1241">#1241</a>: 支持为 windows 程序添加 .manifest 文件参与链接</li>
  1088. <li>支持使用 <code>xrepo remove --all</code> 命令去移除所有的包,并且支持模式匹配</li>
  1089. <li><a href="https://github.com/xmake-io/xmake/issues/1254">#1254</a>: 支持导出包配置给父 target,实现包配置的依赖继承</li>
  1090. </ul>
  1091. <h3 id="">改进</h3>
  1092. <ul>
  1093. <li><a href="https://github.com/xmake-io/xmake/issues/1226">#1226</a>: 添加缺失的 Qt 头文件搜索路径</li>
  1094. <li><a href="https://github.com/xmake-io/xmake/issues/1183">#1183</a>: 改进 C++ 语言标准,以便支持 Qt6</li>
  1095. <li><a href="https://github.com/xmake-io/xmake/issues/1237">#1237</a>: 为 vsxmake 插件添加 qt.ui 文件</li>
  1096. <li>改进 vs/vsxmake 插件去支持预编译头文件和智能提示</li>
  1097. <li><a href="https://github.com/xmake-io/xmake/issues/1090">#1090</a>: 简化自定义规则</li>
  1098. <li><a href="https://github.com/xmake-io/xmake/issues/1065">#1065</a>: 改进 protobuf 规则,支持 compile_commands 生成器</li>
  1099. <li><a href="https://github.com/xmake-io/xmake/issues/1249">#1249</a>: 改进 vs/vsxmake 生成器去支持启动工程设置</li>
  1100. <li><a href="https://github.com/xmake-io/xmake/issues/605">#605</a>: 改进 add_deps 和 add_packages 直接的导出 links 顺序</li>
  1101. <li>移除废弃的 <code>add_defines_h_if_ok</code> and <code>add_defines_h</code> 接口</li>
  1102. </ul>
  1103. <h3 id="bugs">Bugs 修复</h3>
  1104. <ul>
  1105. <li><a href="https://github.com/xmake-io/xmake/issues/1219">#1219</a>: 修复版本检测和更新</li>
  1106. <li><a href="https://github.com/xmake-io/xmake/issues/1235">#1235</a>: 修复 includes 搜索路径中带有空格编译不过问题</li>
  1107. </ul>
  1108. <h2 id="v251">v2.5.1</h2>
  1109. <h3 id="">新特性</h3>
  1110. <ul>
  1111. <li><a href="https://github.com/xmake-io/xmake/issues/1035">#1035</a>: 图形配置菜单完整支持鼠标事件,并且新增滚动栏</li>
  1112. <li><a href="https://github.com/xmake-io/xmake/issues/1098">#1098</a>: 支持传递 stdin 到 os.execv 进行输入重定向</li>
  1113. <li><a href="https://github.com/xmake-io/xmake/issues/1079">#1079</a>: 为 vsxmake 插件添加工程自动更新插件,<code>add_rules("plugin.vsxmake.autoupdate")</code></li>
  1114. <li>添加 <code>xmake f --vs_runtime=&#39;MT&#39;</code> 和 <code>set_runtimes("MT")</code> 去更方便的对 target 和 package 进行设置</li>
  1115. <li><a href="https://github.com/xmake-io/xmake/issues/1032">#1032</a>: 支持枚举注册表 keys 和 values</li>
  1116. <li><a href="https://github.com/xmake-io/xmake/issues/1026">#1026</a>: 支持对 vs/vsmake 工程增加分组设置</li>
  1117. <li><a href="https://github.com/xmake-io/xmake/issues/1178">#1178</a>: 添加 <code>add_requireconfs()</code> 接口去重写依赖包的配置</li>
  1118. <li><a href="https://github.com/xmake-io/xmake/issues/1043">#1043</a>: 为 luarocks 模块添加 <code>luarocks.module</code> 构建规则</li>
  1119. <li><a href="https://github.com/xmake-io/xmake/issues/1190">#1190</a>: 添加对 Apple Silicon (macOS ARM) 设备的支持</li>
  1120. <li><a href="https://github.com/xmake-io/xmake/pull/1145">#1145</a>: 支持在 windows 上安装部署 Qt 程序, 感谢 @SirLynix</li>
  1121. </ul>
  1122. <h3 id="">改进</h3>
  1123. <ul>
  1124. <li><a href="https://github.com/xmake-io/xmake/issues/1072">#1072</a>: 修复并改进 cl 编译器头文件依赖信息</li>
  1125. <li>针对 ui 模块和 <code>xmake f --menu</code> 增加 utf8 支持</li>
  1126. <li>改进 zig 语言在 macOS 上的支持</li>
  1127. <li><a href="https://github.com/xmake-io/xmake/issues/1135">#1135</a>: 针对特定 target 改进多平台多工具链同时配置支持</li>
  1128. <li><a href="https://github.com/xmake-io/xmake/issues/1153">#1153</a>: 改进 llvm 工具链,针对 macos 上编译增加 isysroot 支持</li>
  1129. <li><a href="https://github.com/xmake-io/xmake/issues/1071">#1071</a>: 改进 vs/vsxmake 生成插件去支持远程依赖包</li>
  1130. <li>改进 vs/vsxmake 工程生成插件去支持全局的 <code>set_arch()</code> 设置</li>
  1131. <li><a href="https://github.com/xmake-io/xmake/issues/1164">#1164</a>: 改进 vsxmake 插件调试加载 console 程序</li>
  1132. <li><a href="https://github.com/xmake-io/xmake/issues/1179">#1179</a>: 改进 llvm 工具链,添加 isysroot</li>
  1133. </ul>
  1134. <h3 id="bugs">Bugs 修复</h3>
  1135. <ul>
  1136. <li><a href="https://github.com/xmake-io/xmake/issues/1091">#1091</a>: 修复不正确的继承链接依赖</li>
  1137. <li><a href="https://github.com/xmake-io/xmake/issues/1105">#1105</a>: 修复 vsxmake 插件 c++ 语言标准智能提示错误</li>
  1138. <li><a href="https://github.com/xmake-io/xmake/issues/1132">#1132</a>: 修复 vsxmake 插件中配置路径被截断问题</li>
  1139. <li><a href="https://github.com/xmake-io/xmake/issues/1142">#1142</a>: 修复安装包的时候,出现git找不到问题</li>
  1140. <li>修复在 macOS Big Sur 上 macos.version 问题</li>
  1141. <li><a href="https://github.com/xmake-io/xmake/issues/1084">#1084</a>: 修复 <code>add_defines()</code> 中带有双引号和空格导致无法正确处理宏定义的问题</li>
  1142. <li><a href="https://github.com/xmake-io/xmake/pull/1195">#1195</a>: 修复 unicode 编码问题,改进 vs 环境查找和进程执行</li>
  1143. </ul>
  1144. <h2 id="v239">v2.3.9</h2>
  1145. <h3 id="">新特性</h3>
  1146. <ul>
  1147. <li>添加新的 <a href="https://github.com/xmake-io/xrepo">xrepo</a> 命令去管理安装 C/C++ 包</li>
  1148. <li>支持安装交叉编译的依赖包</li>
  1149. <li>新增musl.cc上的工具链支持</li>
  1150. <li><a href="https://github.com/xmake-io/xmake/issues/1009">#1009</a>: 支持忽略校验去安装任意版本的包,<code>add_requires("libcurl 7.73.0", {verify = false})</code></li>
  1151. <li><a href="https://github.com/xmake-io/xmake/issues/1016">#1016</a>: 针对依赖包增加license兼容性检测</li>
  1152. <li><a href="https://github.com/xmake-io/xmake/issues/1017">#1017</a>: 支持外部/系统头文件支持 <code>add_sysincludedirs</code>,依赖包默认使用<code>-isystem</code></li>
  1153. <li><a href="https://github.com/xmake-io/xmake/issues/1020">#1020</a>: 支持在 archlinux 和 msys2 上查找安装 pacman 包</li>
  1154. <li>改进 <code>xmake f --menu</code> 菜单配置,支持鼠标操作</li>
  1155. </ul>
  1156. <h3 id="">改进</h3>
  1157. <ul>
  1158. <li><a href="https://github.com/xmake-io/xmake/issues/997">#997</a>: <code>xmake project -k cmake</code> 插件增加对 <code>set_languages</code> 的支持</li>
  1159. <li><a href="https://github.com/xmake-io/xmake/issues/998">#998</a>: 支持安装 windows-static-md 类型的 vcpkg 包</li>
  1160. <li><a href="https://github.com/xmake-io/xmake/issues/996">#996</a>: 改进 vcpkg 目录查找</li>
  1161. <li><a href="https://github.com/xmake-io/xmake/issues/1008">#1008</a>: 改进交叉编译工具链</li>
  1162. <li><a href="https://github.com/xmake-io/xmake/issues/1030">#1030</a>: 改进 xcode.framework and xcode.application 规则</li>
  1163. <li><a href="https://github.com/xmake-io/xmake/issues/1051">#1051</a>: 为 msvc 编译器添加 <code>edit</code> 和 <code>embed</code> 调试信息格式类型到 <code>set_symbols()</code></li>
  1164. <li><a href="https://github.com/xmake-io/xmake/issues/1062">#1062</a>: 改进 <code>xmake project -k vs</code> 插件</li>
  1165. </ul>
  1166. <h2 id="v238">v2.3.8</h2>
  1167. <h3 id="">新特性</h3>
  1168. <ul>
  1169. <li><a href="https://github.com/xmake-io/xmake/issues/955">#955</a>: 添加 Zig 空工程模板</li>
  1170. <li><a href="https://github.com/xmake-io/xmake/issues/956">#956</a>: 添加 Wasm 编译平台,并且支持 Qt/Wasm SDK</li>
  1171. <li>升级luajit到v2.1最新分支版本,并且支持mips64上运行xmake</li>
  1172. <li><a href="https://github.com/xmake-io/xmake/issues/972">#972</a>: 添加<code>depend.on_changed()</code>去简化依赖文件的处理</li>
  1173. <li><a href="https://github.com/xmake-io/xmake/issues/981">#981</a>: 添加<code>set_fpmodels()</code>去抽象化设置math/float-point编译优化模式</li>
  1174. <li><a href="https://github.com/xmake-io/xmake/issues/980">#980</a>: 添加对 Intel C/C++ 和 Fortran 编译器的全平台支持</li>
  1175. <li><a href="https://github.com/xmake-io/xmake/issues/986">#986</a>: 对16.8以上msvc编译器增加 <code>c11</code>/<code>c17</code> 支持</li>
  1176. <li><a href="https://github.com/xmake-io/xmake/issues/979">#979</a>: 添加对OpenMP的跨平台抽象配置。<code>add_rules("c++.openmp")</code></li>
  1177. </ul>
  1178. <h3 id="">改进</h3>
  1179. <ul>
  1180. <li><a href="https://github.com/xmake-io/xmake/issues/958">#958</a>: 改进mingw平台,增加对 llvm-mingw 工具链的支持,以及 arm64/arm 架构的支持</li>
  1181. <li>增加 <code>add_requires("zlib~xxx")</code> 模式使得能够支持同时安装带有多种配置的同一个包,作为独立包存在</li>
  1182. <li><a href="https://github.com/xmake-io/xmake/issues/977">#977</a>: 改进 find_mingw 在 windows 上的探测</li>
  1183. <li><a href="https://github.com/xmake-io/xmake/issues/978">#978</a>: 改进工具链的flags顺序</li>
  1184. <li>改进XCode工具链,支持macOS/arm64</li>
  1185. </ul>
  1186. <h3 id="bugs">Bugs修复</h3>
  1187. <ul>
  1188. <li><a href="https://github.com/xmake-io/xmake/issues/951">#951</a>: 修复 emcc (WebAssembly) 工具链在windows上的支持</li>
  1189. <li><a href="https://github.com/xmake-io/xmake/issues/992">#992</a>: 修复文件锁偶尔打开失败问题</li>
  1190. </ul>
  1191. <h2 id="v237">v2.3.7</h2>
  1192. <h3 id="">新特性</h3>
  1193. <ul>
  1194. <li><a href="https://github.com/microsoft/winget-pkgs/pull/2941">#2941</a>: 支持通过 winget 来安装 xmake</li>
  1195. <li>添加 xmake-tinyc 安装包,内置tinyc编译器,支持windows上无msvc环境也可直接编译c代码</li>
  1196. <li>添加 tinyc 编译工具链</li>
  1197. <li>添加 emcc (emscripten) 编译工具链去编译 asm.js 和 WebAssembly</li>
  1198. <li><a href="https://github.com/xmake-io/xmake/issues/947">#947</a>: 通过 <code>xmake g --network=private</code> 配置设置私有网络模式,避免远程依赖包下载访问外网导致编译失败</li>
  1199. </ul>
  1200. <h3 id="">改进</h3>
  1201. <ul>
  1202. <li><a href="https://github.com/xmake-io/xmake/issues/907">#907</a>: 改进msvc的链接器优化选项,生成更小的可执行程序</li>
  1203. <li>改进ubuntu下Qt环境的支持</li>
  1204. <li><a href="https://github.com/xmake-io/xmake/pull/918">#918</a>: 改进cuda11工具链的支持</li>
  1205. <li>改进Qt支持,对通过 ubuntu/apt 安装的Qt sdk也进行了探测支持,并且检测效率也优化了下</li>
  1206. <li>改进 CMake 工程文件生成器</li>
  1207. <li><a href="https://github.com/xmake-io/xmake/issues/931">#931</a>: 改进导出包,支持导出所有依赖包</li>
  1208. <li><a href="https://github.com/xmake-io/xmake/issues/930">#930</a>: 如果私有包定义没有版本定义,支持直接尝试下载包</li>
  1209. <li><a href="https://github.com/xmake-io/xmake/issues/927">#927</a>: 改进android ndk,支持arm/thumb指令模式切换</li>
  1210. <li>改进 trybuild/cmake 支持 Android/Mingw/iPhoneOS/WatchOS 工具链</li>
  1211. </ul>
  1212. <h3 id="bugs">Bugs修复</h3>
  1213. <ul>
  1214. <li><a href="https://github.com/xmake-io/xmake/issues/903">#903</a>: 修复vcpkg包安装失败问题</li>
  1215. <li><a href="https://github.com/xmake-io/xmake/issues/912">#912</a>: 修复自定义工具链</li>
  1216. <li><a href="https://github.com/xmake-io/xmake/issues/914">#914</a>: 修复部分aarch64设备上运行lua出现bad light userdata pointer问题</li>
  1217. </ul>
  1218. <h2 id="v236">v2.3.6</h2>
  1219. <h3 id="">新特性</h3>
  1220. <ul>
  1221. <li>添加xcode工程生成器插件,<code>xmake project -k cmake</code> (当前采用cmake生成)</li>
  1222. <li><a href="https://github.com/xmake-io/xmake/issues/870">#870</a>: 支持gfortran编译器</li>
  1223. <li><a href="https://github.com/xmake-io/xmake/pull/887">#887</a>: 支持zig编译器</li>
  1224. <li><a href="https://github.com/xmake-io/xmake/issues/893">#893</a>: 添加json模块</li>
  1225. <li><a href="https://github.com/xmake-io/xmake/issues/898">#898</a>: 改进golang项目构建,支持交叉编译</li>
  1226. <li><a href="https://github.com/xmake-io/xmake/issues/275">#275</a>: 支持go包管理器去集成第三方go依赖包</li>
  1227. <li><a href="https://github.com/xmake-io/xmake/issues/581">#581</a>: 支持dub包管理器去集成第三方dlang依赖包</li>
  1228. </ul>
  1229. <h3 id="">改进</h3>
  1230. <ul>
  1231. <li><a href="https://github.com/xmake-io/xmake/issues/868">#868</a>: 支持新的cl.exe的头文件依赖输出文件格式,<code>/sourceDependencies xxx.json</code></li>
  1232. <li><a href="https://github.com/xmake-io/xmake/issues/902">#902</a>: 改进交叉编译工具链</li>
  1233. </ul>
  1234. <h2 id="v235">v2.3.5</h2>
  1235. <h3 id="">新特性</h3>
  1236. <ul>
  1237. <li>添加<code>xmake show -l envs</code>去显示xmake内置的环境变量列表</li>
  1238. <li><a href="https://github.com/xmake-io/xmake/issues/861">#861</a>: 支持从指定目录搜索本地包去直接安装远程依赖包</li>
  1239. <li><a href="https://github.com/xmake-io/xmake/issues/854">#854</a>: 针对wget, curl和git支持全局代理设置</li>
  1240. </ul>
  1241. <h3 id="">改进</h3>
  1242. <ul>
  1243. <li><a href="https://github.com/xmake-io/xmake/issues/828">#828</a>: 针对protobuf规则增加导入子目录proto文件支持</li>
  1244. <li><a href="https://github.com/xmake-io/xmake/issues/835">#835</a>: 改进mode.minsizerel模式,针对msvc增加/GL支持,进一步优化目标程序大小</li>
  1245. <li><a href="https://github.com/xmake-io/xmake/issues/828">#828</a>: protobuf规则支持import多级子目录</li>
  1246. <li><a href="https://github.com/xmake-io/xmake/issues/838#issuecomment-643570920">#838</a>: 支持完全重写内置的构建规则,<code>add_files("src/*.c", {rules = {"xx", override = true}})</code></li>
  1247. <li><a href="https://github.com/xmake-io/xmake/issues/847">#847</a>: 支持rc文件的头文件依赖解析</li>
  1248. <li>改进msvc工具链,去除全局环境变量的依赖</li>
  1249. <li><a href="https://github.com/xmake-io/xmake/pull/857">#857</a>: 改进<code>set_toolchains()</code>支持交叉编译的时候,特定target可以切换到host工具链同时编译</li>
  1250. </ul>
  1251. <h3 id="bugs">Bugs修复</h3>
  1252. <ul>
  1253. <li>修复进度字符显示</li>
  1254. <li><a href="https://github.com/xmake-io/xmake/issues/829">#829</a>: 修复由于macOS大小写不敏感系统导致的sysroot无效路径问题</li>
  1255. <li><a href="https://github.com/xmake-io/xmake/issues/832">#832</a>: 修复find_packages在debug模式下找不到的问题</li>
  1256. </ul>
  1257. <h2 id="v234">v2.3.4</h2>
  1258. <h3 id="">新特性</h3>
  1259. <ul>
  1260. <li><a href="https://github.com/xmake-io/xmake/issues/630">#630</a>: 支持*BSD系统,例如:FreeBSD, ..</li>
  1261. <li>添加wprint接口去显示警告信息</li>
  1262. <li><a href="https://github.com/xmake-io/xmake/issues/784">#784</a>: 添加<code>set_policy()</code>去设置修改一些内置的策略,比如:禁用自动flags检测和映射</li>
  1263. <li><a href="https://github.com/xmake-io/xmake/issues/780">#780</a>: 针对target添加set_toolchains/set_toolsets实现更完善的工具链设置,并且实现platform和toolchains分离</li>
  1264. <li><a href="https://github.com/xmake-io/xmake/issues/798">#798</a>: 添加<code>xmake show</code>插件去显示xmake内置的各种信息</li>
  1265. <li><a href="https://github.com/xmake-io/xmake/issues/797">#797</a>: 添加ninja主题风格,显示ninja风格的构建进度条,<code>xmake g --theme=ninja</code></li>
  1266. <li><a href="https://github.com/xmake-io/xmake/issues/816">#816</a>: 添加mode.releasedbg和mode.minsizerel编译模式规则</li>
  1267. <li><a href="https://github.com/xmake-io/xmake/issues/819">#819</a>: 支持ansi/vt100终端字符控制</li>
  1268. </ul>
  1269. <h3 id="">改进</h3>
  1270. <ul>
  1271. <li><a href="https://github.com/xmake-io/xmake/issues/771">#771</a>: 检测includedirs,linkdirs和frameworkdirs的输入有效性</li>
  1272. <li><a href="https://github.com/xmake-io/xmake/issues/774">#774</a>: <code>xmake f --menu</code>可视化配置菜单支持窗口大小Resize调整</li>
  1273. <li><a href="https://github.com/xmake-io/xmake/issues/782">#782</a>: 添加add_cxflags等配置flags自动检测失败提示</li>
  1274. <li><a href="https://github.com/xmake-io/xmake/issues/808">#808</a>: 生成cmakelists插件增加对add_frameworks的支持</li>
  1275. <li><a href="https://github.com/xmake-io/xmake/issues/820">#820</a>: 支持独立的工作目录和构建目录,保持项目目录完全干净</li>
  1276. </ul>
  1277. <h3 id="bugs">Bugs修复</h3>
  1278. <ul>
  1279. <li><a href="https://github.com/xmake-io/xmake/issues/786">#786</a>: 修复头文件依赖检测</li>
  1280. <li><a href="https://github.com/xmake-io/xmake/issues/810">#810</a>: 修复linux下gcc strip debug符号问题</li>
  1281. </ul>
  1282. <h2 id="v233">v2.3.3</h2>
  1283. <h3 id="">新特性</h3>
  1284. <ul>
  1285. <li><a href="https://github.com/xmake-io/xmake/issues/727">#727</a>: 支持为android, ios程序生成.so/.dSYM符号文件</li>
  1286. <li><a href="https://github.com/xmake-io/xmake/issues/687">#687</a>: 支持编译生成objc/bundle程序</li>
  1287. <li><a href="https://github.com/xmake-io/xmake/issues/743">#743</a>: 支持编译生成objc/framework程序</li>
  1288. <li>支持编译bundle, framework程序,以及mac, ios应用程序,并新增一些工程模板</li>
  1289. <li>支持对ios应用程序打包生成ipa文件,以及代码签名支持</li>
  1290. <li>增加一些ipa打包、安装、重签名等辅助工具</li>
  1291. <li>添加xmake.cli规则来支持开发带有xmake/core引擎的lua扩展程序</li>
  1292. </ul>
  1293. <h3 id="">改进</h3>
  1294. <ul>
  1295. <li><a href="https://github.com/xmake-io/xmake/issues/750">#750</a>: 改进qt.widgetapp规则,支持qt私有槽</li>
  1296. </ul>
  1297. <h2 id="v232">v2.3.2</h2>
  1298. <h3 id="">新特性</h3>
  1299. <ul>
  1300. <li>添加powershell色彩主题用于powershell终端下背景色显示</li>
  1301. <li>添加<code>xmake --dry-run -v</code>命令去空运行构建,仅仅为了查看详细的构建命令</li>
  1302. <li><a href="https://github.com/xmake-io/xmake/issues/712">#712</a>: 添加sdcc平台,并且支持sdcc编译器</li>
  1303. </ul>
  1304. <h3 id="">改进</h3>
  1305. <ul>
  1306. <li><a href="https://github.com/xmake-io/xmake/issues/589">#589</a>: 改进优化构建速度,支持跨目标间并行编译和link,编译速度和ninja基本持平</li>
  1307. <li>改进ninja/cmake工程文件生成器插件</li>
  1308. <li><a href="https://github.com/xmake-io/xmake/issues/728">#728</a>: 改进os.cp支持保留源目录结构层级的递归复制</li>
  1309. <li><a href="https://github.com/xmake-io/xmake/issues/732">#732</a>: 改进find_package支持查找homebrew/cmake安装的包</li>
  1310. <li><a href="https://github.com/xmake-io/xmake/issues/695">#695</a>: 改进采用android ndk最新的abi命名</li>
  1311. </ul>
  1312. <h3 id="bugs">Bugs修复</h3>
  1313. <ul>
  1314. <li>修复windows下link error显示问题</li>
  1315. <li><a href="https://github.com/xmake-io/xmake/issues/718">#718</a>: 修复依赖包下载在多镜像时一定概率缓存失效问题</li>
  1316. <li><a href="https://github.com/xmake-io/xmake/issues/722">#722</a>: 修复无效的包依赖导致安装死循环问题</li>
  1317. <li><a href="https://github.com/xmake-io/xmake/issues/719">#719</a>: 修复windows下主进程收到ctrlc后,.bat子进程没能立即退出的问题</li>
  1318. <li><a href="https://github.com/xmake-io/xmake/issues/720">#720</a>: 修复compile_commands生成器的路径转义问题</li>
  1319. </ul>
  1320. <h2 id="v231">v2.3.1</h2>
  1321. <h3 id="">新特性</h3>
  1322. <ul>
  1323. <li><a href="https://github.com/xmake-io/xmake/issues/675">#675</a>: 支持通过设置强制将<code>*.c</code>作为c++代码编译, <code>add_files("*.c", {sourcekind = "cxx"})</code>。</li>
  1324. <li><a href="https://github.com/xmake-io/xmake/issues/681">#681</a>: 支持在msys/cygwin上编译xmake,以及添加msys/cygwin编译平台</li>
  1325. <li>添加socket/pipe模块,并且支持在协程中同时调度process/socket/pipe</li>
  1326. <li><a href="https://github.com/xmake-io/xmake/issues/192">#192</a>: 尝试构建带有第三方构建系统的项目,还支持autotools项目的交叉编译</li>
  1327. <li>启用gcc/clang的编译错误色彩高亮输出</li>
  1328. <li><a href="https://github.com/xmake-io/xmake/issues/588">#588</a>: 改进工程生成插件<code>xmake project -k ninja</code>,增加对build.ninja生成支持</li>
  1329. </ul>
  1330. <h3 id="">改进</h3>
  1331. <ul>
  1332. <li><a href="https://github.com/xmake-io/xmake/issues/665">#665</a>: 支持 *nix style 的参数输入,感谢<a href="https://github.com/OpportunityLiu">@OpportunityLiu</a>的贡献</li>
  1333. <li><a href="https://github.com/xmake-io/xmake/pull/673">#673</a>: 改进tab命令补全,增加对参数values的补全支持</li>
  1334. <li><a href="https://github.com/xmake-io/xmake/issues/680">#680</a>: 优化get.sh安装脚本,添加国内镜像源,加速下载</li>
  1335. <li>改进process调度器</li>
  1336. <li><a href="https://github.com/xmake-io/xmake/issues/651">#651</a>: 改进os/io模块系统操作错误提示</li>
  1337. </ul>
  1338. <h3 id="bugs">Bugs修复</h3>
  1339. <ul>
  1340. <li>修复增量编译检测依赖文件的一些问题</li>
  1341. <li>修复log输出导致xmake-vscode插件解析编译错误信息失败问题</li>
  1342. <li><a href="https://github.com/xmake-io/xmake/issues/684">#684</a>: 修复windows下android ndk的一些linker错误</li>
  1343. </ul>
  1344. <h2 id="v229">v2.2.9</h2>
  1345. <h3 id="">新特性</h3>
  1346. <ul>
  1347. <li><a href="https://github.com/xmake-io/xmake/pull/569">#569</a>: 增加对c++模块的实验性支持</li>
  1348. <li>添加<code>xmake project -k xmakefile</code>生成器</li>
  1349. <li><a href="https://github.com/xmake-io/xmake/issues/620">620</a>: 添加全局<code>~/.xmakerc.lua</code>配置文件,对所有本地工程生效.</li>
  1350. <li><a href="https://github.com/xmake-io/xmake/pull/593">593</a>: 添加<code>core.base.socket</code>模块,为下一步远程编译和分布式编译做准备。</li>
  1351. </ul>
  1352. <h3 id="">改进</h3>
  1353. <ul>
  1354. <li><a href="https://github.com/xmake-io/xmake/pull/563">#563</a>: 重构构建逻辑,将特定语言的构建抽离到独立的rules中去 </li>
  1355. <li><a href="https://github.com/xmake-io/xmake/issues/570">#570</a>: 改进Qt构建,将<code>qt.application</code>拆分成<code>qt.widgetapp</code>和<code>qt.quickapp</code>两个构建规则</li>
  1356. <li><a href="https://github.com/xmake-io/xmake/issues/576">#576</a>: 使用<code>set_toolchain</code>替代<code>add_tools</code>和<code>set_tools</code>,解决老接口使用歧义,提供更加易理解的设置方式</li>
  1357. <li>改进<code>xmake create</code>创建模板工程</li>
  1358. <li><a href="https://github.com/xmake-io/xmake/issues/589">#589</a>: 改进默认的构建任务数,充分利用cpu core来提速整体编译速度</li>
  1359. <li><a href="https://github.com/xmake-io/xmake/issues/598">#598</a>: 改进<code>find_package</code>支持在macOS上对.tbd系统库文件的查找</li>
  1360. <li><a href="https://github.com/xmake-io/xmake/issues/615">#615</a>: 支持安装和使用其他arch和ios的conan包</li>
  1361. <li><a href="https://github.com/xmake-io/xmake/issues/629">#629</a>: 改进hash.uuid并且实现uuid v4</li>
  1362. <li><a href="https://github.com/xmake-io/xmake/issues/639">#639</a>: 改进参数解析器支持<code>-jN</code>风格传参</li>
  1363. </ul>
  1364. <h3 id="bugs">Bugs修复</h3>
  1365. <ul>
  1366. <li><a href="https://github.com/xmake-io/xmake/issues/567">#567</a>: 修复序列化对象时候出现的内存溢出问题 </li>
  1367. <li><a href="https://github.com/xmake-io/xmake/issues/566">#566</a>: 修复安装远程依赖的链接顺序问题</li>
  1368. <li><a href="https://github.com/xmake-io/xmake/issues/565">#565</a>: 修复vcpkg包的运行PATH设置问题</li>
  1369. <li><a href="https://github.com/xmake-io/xmake/issues/597">#597</a>: 修复xmake require安装包时间过长问题</li>
  1370. <li><a href="https://github.com/xmake-io/xmake/issues/634">#634</a>: 修复mode.coverage构建规则,并且改进flags检测</li>
  1371. </ul>
  1372. <h2 id="v228">v2.2.8</h2>
  1373. <h3 id="">新特性</h3>
  1374. <ul>
  1375. <li>添加protobuf c/c++构建规则</li>
  1376. <li><a href="https://github.com/xmake-io/xmake/pull/468">#468</a>: 添加对 Windows 的 UTF-8 支持</li>
  1377. <li><a href="https://github.com/xmake-io/xmake/pull/472">#472</a>: 添加<code>xmake project -k vsxmake</code>去更好的支持vs工程的生成,内部直接调用xmake来编译</li>
  1378. <li><a href="https://github.com/xmake-io/xmake/issues/487">#487</a>: 通过<code>xmake --files="src/*.c"</code>支持指定一批文件进行编译。</li>
  1379. <li>针对io模块增加文件锁接口</li>
  1380. <li><a href="https://github.com/xmake-io/xmake/issues/513">#513</a>: 增加对android/termux终端的支持,可在android设备上执行xmake来构建项目</li>
  1381. <li><a href="https://github.com/xmake-io/xmake/issues/517">#517</a>: 为target增加<code>add_cleanfiles</code>接口,实现快速定制化清理文件</li>
  1382. <li><a href="https://github.com/xmake-io/xmake/pull/537">#537</a>: 添加<code>set_runenv</code>接口去覆盖写入系统envs</li>
  1383. </ul>
  1384. <h3 id="">改进</h3>
  1385. <ul>
  1386. <li><a href="https://github.com/xmake-io/xmake/issues/257">#257</a>: 锁定当前正在构建的工程,避免其他xmake进程同时对其操作</li>
  1387. <li>尝试采用/dev/shm作为os.tmpdir去改善构建过程中临时文件的读写效率</li>
  1388. <li><a href="https://github.com/xmake-io/xmake/pull/542">#542</a>: 改进vs系列工具链的unicode输出问题</li>
  1389. <li>对于安装的lua脚本,启用lua字节码存储,减少安装包大小(<2.4M),提高运行加载效率。</li>
  1390. </ul>
  1391. <h3 id="bugs">Bugs修复</h3>
  1392. <ul>
  1393. <li><a href="https://github.com/xmake-io/xmake/issues/549">#549</a>: 修复新版vs2019下检测环境会卡死的问题</li>
  1394. </ul>
  1395. <h2 id="v227">v2.2.7</h2>
  1396. <h3 id="">新特性</h3>
  1397. <ul>
  1398. <li><a href="https://github.com/xmake-io/xmake/pull/455">#455</a>: 支持使用 clang 作为 cuda 编译器,<code>xmake f --cu=clang</code></li>
  1399. <li><a href="https://github.com/xmake-io/xmake/issues/440">#440</a>: 为target/run添加<code>set_rundir()</code>和<code>add_runenvs()</code>接口设置</li>
  1400. <li><a href="https://github.com/xmake-io/xmake/pull/443">#443</a>: 添加命令行tab自动完成支持</li>
  1401. <li>为rule/target添加<code>on_link</code>,<code>before_link</code>和<code>after_link</code>阶段自定义脚本支持</li>
  1402. <li><a href="https://github.com/xmake-io/xmake/issues/190">#190</a>: 添加<code>add_rules("lex", "yacc")</code>规则去支持lex/yacc项目</li>
  1403. </ul>
  1404. <h3 id="">改进</h3>
  1405. <ul>
  1406. <li><a href="https://github.com/xmake-io/xmake/pull/430">#430</a>: 添加<code>add_cucodegens()</code>api为cuda改进设置codegen</li>
  1407. <li><a href="https://github.com/xmake-io/xmake/pull/432">#432</a>: 针对cuda编译支持依赖分析检测(仅支持 CUDA 10.1+)</li>
  1408. <li><a href="https://github.com/xmake-io/xmake/issues/437">#437</a>: 支持指定更新源,<code>xmake update github:xmake-io/xmake#dev</code></li>
  1409. <li><a href="https://github.com/xmake-io/xmake/pull/438">#438</a>: 支持仅更新脚本,<code>xmake update --scriptonly dev</code></li>
  1410. <li><a href="https://github.com/xmake-io/xmake/issues/433">#433</a>: 改进cuda构建支持device-link设备代码链接</li>
  1411. <li><a href="https://github.com/xmake-io/xmake/issues/442">#442</a>: 改进tests测试框架</li>
  1412. </ul>
  1413. <h2 id="v226">v2.2.6</h2>
  1414. <h3 id="">新特性</h3>
  1415. <ul>
  1416. <li><a href="https://github.com/xmake-io/xmake/pull/380">#380</a>: 添加导出compile_flags.txt </li>
  1417. <li><a href="https://github.com/xmake-io/xmake/issues/382">#382</a>: 简化域设置语法</li>
  1418. <li><a href="https://github.com/xmake-io/xmake/issues/397">#397</a>: 添加clib包集成支持</li>
  1419. <li><a href="https://github.com/xmake-io/xmake/issues/404">#404</a>: 增加Qt/Android编译支持,并且支持android apk生成和部署</li>
  1420. <li>添加一些Qt空工程模板,例如:<code>widgetapp_qt</code>, <code>quickapp_qt_static</code> and <code>widgetapp_qt_static</code></li>
  1421. <li><a href="https://github.com/xmake-io/xmake/issues/415">#415</a>: 添加<code>--cu-cxx</code>配置参数到<code>nvcc/-ccbin</code></li>
  1422. <li>为Android NDK添加<code>--ndk_stdcxx=y</code>和<code>--ndk_cxxstl=gnustl_static</code>参数选项</li>
  1423. </ul>
  1424. <h3 id="">改进</h3>
  1425. <ul>
  1426. <li>改进远程依赖包管理,丰富包仓库</li>
  1427. <li>改进<code>target:on_xxx</code>自定义脚本,去支持匹配<code>android|armv7-a@macosx,linux|x86_64</code>模式</li>
  1428. <li>改进loadfile,优化启动速度,windows上启动xmake时间提速98%</li>
  1429. </ul>
  1430. <h3 id="bugs">Bugs修复</h3>
  1431. <ul>
  1432. <li><a href="https://github.com/xmake-io/xmake/issues/400">#400</a>: 修复qt项目c++语言标准设置无效问题</li>
  1433. </ul>
  1434. <h2 id="v225">v2.2.5</h2>
  1435. <h3 id="">新特性</h3>
  1436. <ul>
  1437. <li>添加<code>string.serialize</code>和<code>string.deserialize</code>去序列化,反序列化对象,函数以及其他类型</li>
  1438. <li>添加<code>xmake g --menu</code>去图形化配置全局选项</li>
  1439. <li><a href="https://github.com/xmake-io/xmake/issues/283">#283</a>: 添加<code>target:installdir()</code>和<code>set_installdir()</code>接口</li>
  1440. <li><a href="https://github.com/xmake-io/xmake/issues/260">#260</a>: 添加<code>add_platformdirs</code>接口,用户现在可以自定义扩展编译平台</li>
  1441. <li><a href="https://github.com/xmake-io/xmake/issues/310">#310</a>: 新增主题设置支持,用户可随意切换和扩展主题样式</li>
  1442. <li><a href="https://github.com/xmake-io/xmake/issues/318">#318</a>: 添加<code>add_installfiles</code>接口到target去自定义安装文件</li>
  1443. <li><a href="https://github.com/xmake-io/xmake/issues/339">#339</a>: 改进<code>add_requires</code>和<code>find_package</code>使其支持对第三方包管理的集成支持</li>
  1444. <li><a href="https://github.com/xmake-io/xmake/issues/327">#327</a>: 实现对conan包管理的集成支持</li>
  1445. <li>添加内置API <code>find_packages("pcre2", "zlib")</code>去同时查找多个依赖包,不需要通过import导入即可直接调用</li>
  1446. <li><a href="https://github.com/xmake-io/xmake/issues/320">#320</a>: 添加模板配置文件相关接口,<code>add_configfiles</code>和<code>set_configvar</code></li>
  1447. <li><a href="https://github.com/xmake-io/xmake/issues/179">#179</a>: 扩展<code>xmake project</code>插件,新增CMakelist.txt生成支持</li>
  1448. <li><a href="https://github.com/xmake-io/xmake/issues/361">#361</a>: 增加对vs2019 preview的支持</li>
  1449. <li><a href="https://github.com/xmake-io/xmake/issues/368">#368</a>: 支持<code>private, public, interface</code>属性设置去继承target配置</li>
  1450. <li><a href="https://github.com/xmake-io/xmake/issues/284">#284</a>: 通过<code>add_configs()</code>添加和传递用户自定义配置到<code>package()</code></li>
  1451. <li><a href="https://github.com/xmake-io/xmake/issues/319">#319</a>: 添加<code>add_headerfiles</code>接口去改进头文件的设置</li>
  1452. <li><a href="https://github.com/xmake-io/xmake/issues/342">#342</a>: 为<code>includes()</code>添加一些内置的辅助函数,例如:<code>check_cfuncs</code></li>
  1453. </ul>
  1454. <h3 id="">改进</h3>
  1455. <ul>
  1456. <li>针对远程依赖包,改进版本和调试模式切换</li>
  1457. <li><a href="https://github.com/xmake-io/xmake/issues/264">#264</a>: 支持在windows上更新dev/master版本,<code>xmake update dev</code></li>
  1458. <li><a href="https://github.com/xmake-io/xmake/issues/293">#293</a>: 添加<code>xmake f/g --mingw=xxx</code> 配置选线,并且改进find_mingw检测</li>
  1459. <li><a href="https://github.com/xmake-io/xmake/issues/301">#301</a>: 改进编译预处理头文件以及依赖头文件生成,编译速度提升30%</li>
  1460. <li><a href="https://github.com/xmake-io/xmake/issues/322">#322</a>: 添加<code>option.add_features</code>, <code>option.add_cxxsnippets</code> 和 <code>option.add_csnippets</code></li>
  1461. <li>移除xmake 1.x的一些废弃接口, 例如:<code>add_option_xxx</code></li>
  1462. <li><a href="https://github.com/xmake-io/xmake/issues/327">#327</a>: 改进<code>lib.detect.find_package</code>增加对conan包管理器的支持</li>
  1463. <li>改进<code>lib.detect.find_package</code>并且添加内建的<code>find_packages("zlib 1.x", "openssl", {xxx = ...})</code>接口</li>
  1464. <li>标记<code>set_modes()</code>作为废弃接口, 我们使用<code>add_rules("mode.debug", "mode.release")</code>来替代它</li>
  1465. <li><a href="https://github.com/xmake-io/xmake/issues/353">#353</a>: 改进<code>target:set</code>, <code>target:add</code> 并且添加<code>target:del</code>去动态修改target配置</li>
  1466. <li><a href="https://github.com/xmake-io/xmake/issues/356">#356</a>: 添加<code>qt_add_static_plugins()</code>接口去支持静态Qt sdk</li>
  1467. <li><a href="https://github.com/xmake-io/xmake/issues/351">#351</a>: 生成vs201x插件增加对yasm的支持</li>
  1468. <li>重构改进整个远程依赖包管理器,更加快速、稳定、可靠,并提供更多的常用包</li>
  1469. </ul>
  1470. <h3 id="bugs">Bugs修复</h3>
  1471. <ul>
  1472. <li>修复无法通过 <code>set_optimize()</code> 设置优化选项,如果存在<code>add_rules("mode.release")</code>的情况下</li>
  1473. <li><a href="https://github.com/xmake-io/xmake/issues/289">#289</a>: 修复在windows下解压gzip文件失败</li>
  1474. <li><a href="https://github.com/xmake-io/xmake/issues/296">#296</a>: 修复<code>option.add_includedirs</code>对cuda编译不生效</li>
  1475. <li><a href="https://github.com/xmake-io/xmake/issues/321">#321</a>: 修复PATH环境改动后查找工具不对问题</li>
  1476. </ul>
  1477. <h2 id="v223">v2.2.3</h2>
  1478. <h3 id="">新特性</h3>
  1479. <ul>
  1480. <li><a href="https://github.com/xmake-io/xmake/issues/233">#233</a>: 对mingw平台增加windres的支持</li>
  1481. <li><a href="https://github.com/xmake-io/xmake/issues/239">#239</a>: 添加cparser编译器支持</li>
  1482. <li>添加插件管理器,<code>xmake plugin --help</code></li>
  1483. <li>添加<code>add_syslinks</code>接口去设置系统库依赖,分离与<code>add_links</code>添加的库依赖之间的链接顺序</li>
  1484. <li>添加 <code>xmake l time xmake [--rebuild]</code> 去记录编译耗时</li>
  1485. <li><a href="https://github.com/xmake-io/xmake/issues/250">#250</a>: 添加<code>xmake f --vs_sdkver=10.0.15063.0</code>去改变windows sdk版本</li>
  1486. <li>添加<code>lib.luajit.ffi</code>和<code>lib.luajit.jit</code>扩展模块</li>
  1487. <li><a href="https://github.com/xmake-io/xmake/issues/263">#263</a>: 添加object目标类型,仅仅用于编译生成object对象文件</li>
  1488. <li><a href="https://github.com/xmake-io/xmake/issues/269">#269</a>: 每天第一次构建时候后台进程自动清理最近30天的临时文件</li>
  1489. </ul>
  1490. <h3 id="">改进</h3>
  1491. <ul>
  1492. <li><a href="https://github.com/xmake-io/xmake/issues/229">#229</a>: 改进vs toolset选择已经vcproj工程文件生成</li>
  1493. <li>改进编译依赖,对源文件列表的改动进行依赖判断</li>
  1494. <li>支持解压*.xz文件</li>
  1495. <li><a href="https://github.com/xmake-io/xmake/pull/249">#249</a>: 改进编译进度信息显示格式</li>
  1496. <li><a href="https://github.com/xmake-io/xmake/pull/247">#247</a>: 添加<code>-D</code>和<code>--diagnosis</code>去替换<code>--backtrace</code>,改进诊断信息显示</li>
  1497. <li><a href="https://github.com/xmake-io/xmake/issues/259">#259</a>: 改进 on_build, on_build_file 和 on_xxx 等接口</li>
  1498. <li>改进远程包管理器,更加方便的包依赖配置切换</li>
  1499. <li>支持only头文件依赖包的安装</li>
  1500. <li>支持对包内置links的手动调整,<code>add_packages("xxx", {links = {}})</code></li>
  1501. </ul>
  1502. <h3 id="bugs">Bugs修复</h3>
  1503. <ul>
  1504. <li>修复安装依赖包失败中断后的状态不一致性问题</li>
  1505. </ul>
  1506. <h2 id="v222">v2.2.2</h2>
  1507. <h3 id="">新特性</h3>
  1508. <ul>
  1509. <li>新增fasm汇编器支持</li>
  1510. <li>添加<code>has_config</code>, <code>get_config</code>和<code>is_config</code>接口去快速判断option和配置值</li>
  1511. <li>添加<code>set_config</code>接口去设置默认配置</li>
  1512. <li>添加<code>$xmake --try</code>去尝试构建工程</li>
  1513. <li>添加<code>set_enabled(false)</code>去显示的禁用target</li>
  1514. <li><a href="https://github.com/xmake-io/xmake/issues/69">#69</a>: 添加远程依赖包管理, <code>add_requires("tbox ~1.6.1")</code></li>
  1515. <li><a href="https://github.com/xmake-io/xmake/pull/216">#216</a>: 添加windows mfc编译规则</li>
  1516. </ul>
  1517. <h3 id="">改进</h3>
  1518. <ul>
  1519. <li>改进Qt编译编译环境探测,增加对mingw sdk的支持</li>
  1520. <li>在自动扫描生成的xmake.lua中增加默认debug/release规则</li>
  1521. <li><a href="https://github.com/xmake-io/xmake/issues/178">#178</a>: 修改mingw平台下的目标名</li>
  1522. <li>对于<code>add_files()</code>在windows上支持大小写不敏感路径模式匹配</li>
  1523. <li>改进<code>detect.sdks.find_qt</code>对于Qt根目录的探测</li>
  1524. <li><a href="https://github.com/xmake-io/xmake/issues/184">#184</a>: 改进<code>lib.detect.find_package</code>支持vcpkg</li>
  1525. <li><a href="https://github.com/xmake-io/xmake/issues/208">#208</a>: 改进rpath对动态库的支持</li>
  1526. <li><a href="https://github.com/xmake-io/xmake/issues/225">#225</a>: 改进vs环境探测</li>
  1527. </ul>
  1528. <h3 id="bugs">Bugs修复</h3>
  1529. <ul>
  1530. <li><a href="https://github.com/xmake-io/xmake/issues/177">#177</a>: 修复被依赖的动态库target,如果设置了basename后链接失败问题</li>
  1531. <li>修复<code>$ xmake f --menu</code>中Exit问题以及cpu过高问题</li>
  1532. <li><a href="https://github.com/xmake-io/xmake/issues/197">#197</a>: 修复生成的vs201x工程文件带有中文路径乱码问题</li>
  1533. <li>修复WDK规则编译生成的驱动在Win7下运行蓝屏问题</li>
  1534. <li><a href="https://github.com/xmake-io/xmake/pull/205">#205</a>: 修复vcproj工程生成targetdir, objectdir路径设置不匹配问题 </li>
  1535. </ul>
  1536. <h2 id="v221">v2.2.1</h2>
  1537. <h3 id="">新特性</h3>
  1538. <ul>
  1539. <li><a href="https://github.com/xmake-io/xmake/issues/158">#158</a>: 增加对Cuda编译环境的支持</li>
  1540. <li>添加<code>set_tools</code>和<code>add_tools</code>接口为指定target目标设置编译工具链</li>
  1541. <li>添加内建规则:<code>mode.debug</code>, <code>mode.release</code>, <code>mode.profile</code>和<code>mode.check</code></li>
  1542. <li>添加<code>is_mode</code>, <code>is_arch</code> 和<code>is_plat</code>内置接口到自定义脚本域</li>
  1543. <li>添加color256代码</li>
  1544. <li><a href="https://github.com/xmake-io/xmake/issues/160">#160</a>: 增加对Qt SDK编译环境的跨平台支持,并且增加<code>qt.console</code>, <code>qt.application</code>等规则</li>
  1545. <li>添加一些Qt工程模板</li>
  1546. <li><a href="https://github.com/xmake-io/xmake/issues/169">#169</a>: 支持yasm汇编器</li>
  1547. <li><a href="https://github.com/xmake-io/xmake/issues/159">#159</a>: 增加对WDK驱动编译环境支持</li>
  1548. </ul>
  1549. <h3 id="">改进</h3>
  1550. <ul>
  1551. <li>添加FAQ到自动生成的xmake.lua文件,方便用户快速上手</li>
  1552. <li>支持Android NDK >= r14的版本</li>
  1553. <li>改进swiftc对warning flags的支持</li>
  1554. <li><a href="https://github.com/xmake-io/xmake/issues/167">#167</a>: 改进自定义规则:<code>rule()</code></li>
  1555. <li>改进<code>os.files</code>和<code>os.dirs</code>接口,加速文件模式匹配</li>
  1556. <li><a href="https://github.com/xmake-io/xmake/issues/171">#171</a>: 改进Qt环境的构建依赖</li>
  1557. <li>在makefile生成插件中实现<code>make clean</code></li>
  1558. </ul>
  1559. <h3 id="bugs">Bugs修复</h3>
  1560. <ul>
  1561. <li>修复无法通过<code>add_ldflags("xx", "xx", {force = true})</code>强制设置多个flags的问题</li>
  1562. <li><a href="https://github.com/xmake-io/xmake/issues/157">#157</a>: 修复pdb符号输出目录不存在情况下编译失败问题</li>
  1563. <li>修复对macho格式目标strip all符号失效问题</li>
  1564. <li><a href="https://github.com/xmake-io/xmake/issues/168">#168</a>: 修复生成vs201x工程插件,在x64下失败的问题</li>
  1565. </ul>
  1566. <h2 id="v219">v2.1.9</h2>
  1567. <h3 id="">新特性</h3>
  1568. <ul>
  1569. <li>添加<code>del_files()</code>接口去从已添加的文件列表中移除一些文件</li>
  1570. <li>添加<code>rule()</code>, <code>add_rules()</code>接口实现自定义构建规则,并且改进<code>add_files("src/*.md", {rule = "markdown"})</code></li>
  1571. <li>添加<code>os.filesize()</code>接口</li>
  1572. <li>添加<code>core.ui.xxx</code>等cui组件模块,实现终端可视化界面,用于实现跟用户进行短暂的交互</li>
  1573. <li>通过<code>xmake f --menu</code>实现可视化菜单交互配置,简化工程的编译配置</li>
  1574. <li>添加<code>set_values</code>接口到option</li>
  1575. <li>改进option,支持根据工程中用户自定义的option,自动生成可视化配置菜单</li>
  1576. <li>在调用api设置工程配置时以及在配置菜单中添加源文件位置信息</li>
  1577. </ul>
  1578. <h3 id="">改进</h3>
  1579. <ul>
  1580. <li>改进交叉工具链配置,通过指定工具别名定向到已知的工具链来支持未知编译工具名配置, 例如: <code>xmake f [email protected]</code></li>
  1581. <li><a href="https://github.com/xmake-io/xmake/issues/151">#151</a>: 改进mingw平台下动态库生成</li>
  1582. <li>改进生成makefile插件</li>
  1583. <li>改进检测错误提示</li>
  1584. <li>改进<code>add_cxflags</code>等flags api的设置,添加force参数,来禁用自动检测和映射,强制设置选项:<code>add_cxflags("-DTEST", {force = true})</code></li>
  1585. <li>改进<code>add_files</code>的flags设置,添加force域,用于设置不带自动检测和映射的原始flags:<code>add_files("src/*.c", {force = {cxflags = "-DTEST"}})</code></li>
  1586. <li>改进搜索工程根目录策略</li>
  1587. <li>改进vs环境探测,支持加密文件系统下vs环境的探测</li>
  1588. <li>升级luajit到最新2.1.0-beta3</li>
  1589. <li>增加对linux/arm, arm64的支持,可以在arm linux上运行xmake</li>
  1590. <li>改进vs201x工程生成插件,更好的includedirs设置支持</li>
  1591. </ul>
  1592. <h3 id="bugs">Bugs修复</h3>
  1593. <ul>
  1594. <li>修复依赖修改编译和链接问题</li>
  1595. <li><a href="https://github.com/xmake-io/xmake/issues/151">#151</a>: 修复<code>os.nuldev()</code>在mingw上传入gcc时出现问题</li>
  1596. <li><a href="https://github.com/xmake-io/xmake/issues/150">#150</a>: 修复windows下ar.exe打包过长obj列表参数,导致失败问题</li>
  1597. <li>修复<code>xmake f --cross</code>无法配置问题</li>
  1598. <li>修复<code>os.cd</code>到windows根路径问题</li>
  1599. </ul>
  1600. <h2 id="v218">v2.1.8</h2>
  1601. <h3 id="">新特性</h3>
  1602. <ul>
  1603. <li>添加<code>XMAKE_LOGFILE</code>环境变量,启用输出到日志文件</li>
  1604. <li>添加对tinyc编译器的支持</li>
  1605. </ul>
  1606. <h3 id="">改进</h3>
  1607. <ul>
  1608. <li>改进对IDE和编辑器插件的集成支持,例如:Visual Studio Code, Sublime Text 以及 IntelliJ IDEA</li>
  1609. <li>当生成新工程的时候,自动生成一个<code>.gitignore</code>文件,忽略一些xmake的临时文件和目录</li>
  1610. <li>改进创建模板工程,使用模板名代替模板id作为参数</li>
  1611. <li>改进macOS编译平台的探测,如果没有安装xcode也能够进行编译构建,如果有编译器的话</li>
  1612. <li>改进<code>set_config_header</code>接口,支持局部版本号设置,优先于全局<code>set_version</code>,例如:<code>set_config_header("config", {version = "2.1.8", build = "%Y%m%d%H%M"})</code></li>
  1613. </ul>
  1614. <h3 id="bugs">Bugs修复</h3>
  1615. <ul>
  1616. <li><a href="https://github.com/xmake-io/xmake/issues/145">#145</a>: 修复运行target的当前目录环境</li>
  1617. </ul>
  1618. <h2 id="v217">v2.1.7</h2>
  1619. <h3 id="">新特性</h3>
  1620. <ul>
  1621. <li>添加<code>add_imports</code>去为target,option和package的自定义脚本批量导入模块,简化自定义脚本</li>
  1622. <li>添加<code>xmake -y/--yes</code>去确认用户输入</li>
  1623. <li>添加<code>xmake l package.manager.install xxx</code>模块,进行跨平台一致性安装软件包</li>
  1624. <li>添加vscode编辑器插件支持,更加方便的使用xmake,<a href="https://marketplace.visualstudio.com/items?itemName=tboox.xmake-vscode#overview">xmake-vscode</a></li>
  1625. <li>添加<code>xmake macro ..</code>快速运行最近一次命令</li>
  1626. </ul>
  1627. <h3 id="">改进</h3>
  1628. <ul>
  1629. <li>改进<code>cprint()</code>,支持24位真彩色输出</li>
  1630. <li>对<code>add_rpathdirs()</code>增加对<code>@loader_path</code>和<code>$ORIGIN</code>的内置变量支持,提供可迁移动态库加载</li>
  1631. <li>改进<code>set_version("x.x.x", {build = "%Y%m%d%H%M"})</code> 支持buildversion设置</li>
  1632. <li>移除docs目录,将其放置到独立xmake-docs仓库中,减少xmake.zip的大小,优化下载安装的效率</li>
  1633. <li>改进安装和卸载脚本,支持DESTDIR和PREFIX环境变量设置</li>
  1634. <li>通过缓存优化flags探测,加速编译效率</li>
  1635. <li>添加<code>COLORTERM=nocolor</code>环境变量开关,禁用彩色输出</li>
  1636. <li>移除<code>add_rbindings</code>和<code>add_bindings</code>接口</li>
  1637. <li>禁止在重定向的时候进行彩色输出,避免输出文件中带有色彩代码干扰</li>
  1638. <li>更新tbox工程模板</li>
  1639. <li>改进<code>lib.detect.find_program</code>模块接口</li>
  1640. <li>为windows cmd终端增加彩色输出</li>
  1641. <li>增加<code>-w|--warning</code>参数来启用实时警告输出</li>
  1642. </ul>
  1643. <h3 id="bugs">Bugs修复</h3>
  1644. <ul>
  1645. <li>修复<code>set_pcxxheader</code>编译没有继承flags配置问题</li>
  1646. <li><a href="https://github.com/xmake-io/xmake/issues/140">#140</a>: 修复<code>os.tmpdir()</code>在fakeroot下的冲突问题</li>
  1647. <li><a href="https://github.com/xmake-io/xmake/issues/142">#142</a>: 修复<code>os.getenv</code> 在windows上的中文编码问题</li>
  1648. <li>修复在带有空格路径的情况下,编译错误问题</li>
  1649. <li>修复setenv空值的崩溃问题</li>
  1650. </ul>
  1651. <h2 id="v216">v2.1.6</h2>
  1652. <h3 id="">改进</h3>
  1653. <ul>
  1654. <li>改进<code>add_files</code>,支持对files粒度进行编译选项的各种配置,更加灵活。</li>
  1655. <li>从依赖的target和option中继承links和linkdirs。</li>
  1656. <li>改进<code>target.add_deps</code>接口,添加继承配置,允许手动禁止依赖继承,例如:<code>add_deps("test", {inherit = false})</code></li>
  1657. <li>移除<code>tbox.pkg</code>二进制依赖,直接集成tbox源码进行编译</li>
  1658. </ul>
  1659. <h3 id="bugs">Bugs修复</h3>
  1660. <ul>
  1661. <li>修复目标级联依赖问题</li>
  1662. <li>修复<code>target:add</code>和<code>option:add</code>问题</li>
  1663. <li>修复在archlinux上的编译和安装问题</li>
  1664. <li>修复<code>/ZI</code>的兼容性问题,用<code>/Zi</code>替代</li>
  1665. </ul>
  1666. <h2 id="v215">v2.1.5</h2>
  1667. <h3 id="">新特性</h3>
  1668. <ul>
  1669. <li><a href="https://github.com/xmake-io/xmake/issues/83">#83</a>: 添加 <code>add_csnippet</code>,<code>add_cxxsnippet</code>到<code>option</code>来检测一些编译器特性</li>
  1670. <li><a href="https://github.com/xmake-io/xmake/issues/83">#83</a>: 添加用户扩展模块去探测程序,库文件以及其他主机环境</li>
  1671. <li>添加<code>find_program</code>, <code>find_file</code>, <code>find_library</code>, <code>find_tool</code>和<code>find_package</code> 等模块接口</li>
  1672. <li>添加<code>net.*</code>和<code>devel.*</code>扩展模块</li>
  1673. <li>添加<code>val()</code>接口去获取内置变量,例如:<code>val("host")</code>, <code>val("env PATH")</code>, <code>val("shell echo hello")</code> and <code>val("reg HKEY_LOCAL_MACHINE\\XX;Value")</code></li>
  1674. <li>增加对微软.rc资源文件的编译支持,当在windows上编译时,可以增加资源文件了</li>
  1675. <li>增加<code>has_flags</code>, <code>features</code>和<code>has_features</code>等探测模块接口</li>
  1676. <li>添加<code>option.on_check</code>, <code>option.after_check</code> 和 <code>option.before_check</code> 接口</li>
  1677. <li>添加<code>target.on_load</code>接口</li>
  1678. <li><a href="https://github.com/xmake-io/xmake/issues/132">#132</a>: 添加<code>add_frameworkdirs</code>接口</li>
  1679. <li>添加<code>lib.detect.has_xxx</code>和<code>lib.detect.find_xxx</code>接口</li>
  1680. <li>添加<code>add_moduledirs</code>接口在工程中定义和加载扩展模块</li>
  1681. <li>添加<code>includes</code>接口替换<code>add_subdirs</code>和<code>add_subfiles</code></li>
  1682. <li><a href="https://github.com/xmake-io/xmake/issues/133">#133</a>: 改进工程插件,通过运行<code>xmake project -k compile_commands</code>来导出<code>compile_commands.json</code></li>
  1683. <li>添加<code>set_pcheader</code>和<code>set_pcxxheader</code>去支持跨编译器预编译头文件,支持<code>gcc</code>, <code>clang</code>和<code>msvc</code></li>
  1684. <li>添加<code>xmake f -p cross</code>平台用于交叉编译,并且支持自定义平台名</li>
  1685. </ul>
  1686. <h3 id="">改进</h3>
  1687. <ul>
  1688. <li><a href="https://github.com/xmake-io/xmake/issues/87">#87</a>: 为依赖库目标自动添加:<code>includes</code> 和 <code>links</code></li>
  1689. <li>改进<code>import</code>接口,去加载用户扩展模块</li>
  1690. <li><a href="https://github.com/xmake-io/xmake/pull/93">#93</a>: 改进 <code>xmake lua</code>,支持运行单行命令和模块</li>
  1691. <li>改进编译错误提示信息输出</li>
  1692. <li>改进<code>print</code>接口去更好些显示table数据</li>
  1693. <li><a href="https://github.com/xmake-io/xmake/issues/111">#111</a>: 添加<code>--root</code>通用选项去临时支持作为root运行</li>
  1694. <li><a href="https://github.com/xmake-io/xmake/pull/113">#113</a>: 改进权限管理,现在作为root运行也是非常安全的</li>
  1695. <li>改进<code>xxx_script</code>工程描述api,支持多平台模式选择, 例如:<code>on_build("iphoneos|arm*", function (target) end)</code></li>
  1696. <li>改进内置变量,支持环境变量和注册表数据的获取</li>
  1697. <li>改进vstudio环境和交叉工具链的探测</li>
  1698. <li><a href="https://github.com/xmake-io/xmake/issues/71">#71</a>: 改进从环境变量中探测链接器和编译器</li>
  1699. <li>改进option选项检测,通过多任务检测,提升70%的检测速度</li>
  1700. <li><a href="https://github.com/xmake-io/xmake/issues/129">#129</a>: 检测链接依赖,如果源文件没有改变,就不必重新链接目标文件了</li>
  1701. <li>在vs201x工程插件中增加对<code>*.asm</code>文件的支持</li>
  1702. <li>标记<code>add_bindings</code>和<code>add_rbindings</code>为废弃接口</li>
  1703. <li>优化<code>xmake rebuild</code>在windows上的构建速度</li>
  1704. <li>将<code>core.project.task</code>模块迁移至<code>core.base.task</code></li>
  1705. <li>将<code>echo</code> 和 <code>app2ipa</code> 插件迁移到 <a href="https://github.com/xmake-io/xmake-plugins">xmake-plugins</a> 仓库</li>
  1706. <li>添加<code>set_config_header("config.h", {prefix = ""})</code> 代替 <code>set_config_h</code> 和 <code>set_config_h_prefix</code></li>
  1707. </ul>
  1708. <h3 id="bugs">Bugs修复</h3>
  1709. <ul>
  1710. <li>修复<code>try-catch-finally</code></li>
  1711. <li>修复解释器bug,解决当加载多级子目录时,根域属性设置不对</li>
  1712. <li><a href="https://github.com/xmake-io/xmake/pull/115">#115</a>: 修复安装脚本<code>get.sh</code>的路径问题</li>
  1713. <li>修复<code>import()</code>导入接口的缓存问题</li>
  1714. </ul>
  1715. <h2 id="v214">v2.1.4</h2>
  1716. <h3 id="">新特性</h3>
  1717. <ul>
  1718. <li><a href="https://github.com/xmake-io/xmake/issues/68">#68</a>: 增加<code>$(programdir)</code>和<code>$(xmake)</code>内建变量</li>
  1719. <li>添加<code>is_host</code>接口去判断当前的主机环境</li>
  1720. <li><a href="https://github.com/xmake-io/xmake/issues/79">#79</a>: 增强<code>xmake lua</code>,支持交互式解释执行</li>
  1721. </ul>
  1722. <h3 id="">改进</h3>
  1723. <ul>
  1724. <li>修改菜单选项颜色</li>
  1725. <li><a href="https://github.com/xmake-io/xmake/issues/71">#71</a>: 针对widows编译器改进优化选项映射</li>
  1726. <li><a href="https://github.com/xmake-io/xmake/issues/73">#73</a>: 尝试获取可执行文件路径来作为xmake的脚本目录 </li>
  1727. <li>在<code>add_subdirs</code>中的子<code>xmake.lua</code>中,使用独立子作用域,避免作用域污染导致的干扰问题</li>
  1728. <li><a href="https://github.com/xmake-io/xmake/pull/78">#78</a>: 美化非全屏终端窗口下的<code>xmake --help</code>输出</li>
  1729. <li>避免产生不必要的<code>.xmake</code>目录,如果不在工程中的时候</li>
  1730. </ul>
  1731. <h3 id="bugs">Bugs修复</h3>
  1732. <ul>
  1733. <li><a href="https://github.com/xmake-io/xmake/issues/67">#67</a>: 修复 <code>sudo make install</code> 命令权限问题</li>
  1734. <li><a href="https://github.com/xmake-io/xmake/issues/70">#70</a>: 修复检测android编译器错误</li>
  1735. <li>修复临时文件路径冲突问题</li>
  1736. <li>修复<code>os.host</code>, <code>os.arch</code>等接口</li>
  1737. <li>修复根域api加载干扰其他子作用域问题</li>
  1738. <li><a href="https://github.com/xmake-io/xmake/pull/77">#77</a>: 修复<code>cprint</code>色彩打印中断问题</li>
  1739. </ul>
  1740. <h2 id="v213">v2.1.3</h2>
  1741. <h3 id="">新特性</h3>
  1742. <ul>
  1743. <li><a href="https://github.com/xmake-io/xmake/pull/65">#65</a>: 为target添加<code>set_default</code>接口用于修改默认的构建所有targets行为</li>
  1744. <li>允许在工程子目录执行<code>xmake</code>命令进行构建,xmake会自动检测所在的工程根目录</li>
  1745. <li>添加<code>add_rpathdirs</code> api到target和option,支持动态库的自动加载运行</li>
  1746. </ul>
  1747. <h3 id="">改进</h3>
  1748. <ul>
  1749. <li><a href="https://github.com/xmake-io/xmake/pull/61">#61</a>: 提供更加安全的<code>xmake install</code> and <code>xmake uninstall</code>任务,更友好的处理root安装问题</li>
  1750. <li>提供<code>rpm</code>, <code>deb</code>和<code>osxpkg</code>安装包</li>
  1751. <li><a href="https://github.com/xmake-io/xmake/pull/63">#63</a>: 改进安装脚本,实现更加安全的构建和安装xmake</li>
  1752. <li><a href="https://github.com/xmake-io/xmake/pull/61">#61</a>: 禁止在root权限下运行xmake命令,增强安全性</li>
  1753. <li>改进工具链检测,通过延迟延迟检测提升整体检测效率</li>
  1754. <li>当自动扫面生成<code>xmake.lua</code>时,添加更友好的用户提示,避免用户无操作</li>
  1755. </ul>
  1756. <h3 id="bugs">Bugs修复</h3>
  1757. <ul>
  1758. <li>修复版本检测的错误提示信息</li>
  1759. <li><a href="https://github.com/xmake-io/xmake/issues/60">#60</a>: 修复macosx和windows平台的xmake自举编译</li>
  1760. <li><a href="https://github.com/xmake-io/xmake/issues/64">#64</a>: 修复构建android <code>armv8-a</code>架构失败问题</li>
  1761. <li><a href="https://github.com/xmake-io/xmake/issues/50">#50</a>: 修复构建android可执行程序,无法运行问题</li>
  1762. </ul>
  1763. <h2 id="v212">v2.1.2</h2>
  1764. <h3 id="">新特性</h3>
  1765. <ul>
  1766. <li>添加aur打包脚本,并支持用<code>yaourt</code>包管理器进行安装。</li>
  1767. <li>添加<a href="#http://xmake.io/#/zh/manual?id=targetset_basename">set_basename</a>接口,便于定制化修改生成后的目标文件名</li>
  1768. </ul>
  1769. <h3 id="">改进</h3>
  1770. <ul>
  1771. <li>支持vs2017编译环境</li>
  1772. <li>支持编译android版本的rust程序</li>
  1773. <li>增强vs201x工程生成插件,支持同时多模式、架构编译</li>
  1774. </ul>
  1775. <h3 id="bugs">Bugs修复</h3>
  1776. <ul>
  1777. <li>修复编译android程序,找不到系统头文件问题</li>
  1778. <li>修复检测选项行为不正确问题</li>
  1779. <li><a href="https://github.com/xmake-io/xmake/issues/57">#57</a>: 修复代码文件权限到0644</li>
  1780. </ul>
  1781. <h2 id="v211">v2.1.1</h2>
  1782. <h3 id="">新特性</h3>
  1783. <ul>
  1784. <li>添加<code>--links</code>, <code>--linkdirs</code> and <code>--includedirs</code> 配置参数</li>
  1785. <li>添加app2ipa插件</li>
  1786. <li>为<code>xmake.lua</code>工程描述增加dictionay语法风格</li>
  1787. <li>提供智能扫描编译模式,在无任何<code>xmake.lua</code>等工程描述文件的情况下,也能直接快速编译</li>
  1788. <li>为<code>xmake.lua</code>工程描述添加<code>set_xmakever</code>接口,更加友好的处理版本兼容性问题 </li>
  1789. <li>为<code>objc</code>和<code>swift</code>程序添加<code>add_frameworks</code>接口</li>
  1790. <li>更加快速方便的多语言扩展支持,增加<code>golang</code>, <code>dlang</code>和<code>rust</code>程序构建的支持</li>
  1791. <li>添加<code>target_end</code>, <code>option_end</code> 和<code>task_end</code>等可选api,用于显示结束描述域,进入根域设置,提高可读性</li>
  1792. <li>添加<code>golang</code>, <code>dlang</code>和<code>rust</code>工程模板</li>
  1793. </ul>
  1794. <h3 id="">改进</h3>
  1795. <ul>
  1796. <li>工程生成插件支持vs2017</li>
  1797. <li>改进gcc/clang编译器警告和错误提示</li>
  1798. <li>重构代码架构,改进多语言支持,更加方便灵活的扩展语言支持</li>
  1799. <li>改进print接口,同时支持原生lua print以及格式化打印</li>
  1800. <li>如果xmake.lua不存在,自动扫描工程代码文件,并且生成xmake.lua进行编译</li>
  1801. <li>修改license,使用更加宽松的Apache License 2.0</li>
  1802. <li>移除一些二进制工具文件</li>
  1803. <li>移除install.bat脚本,提供windows nsis安装包支持</li>
  1804. <li>使用<a href="https://github.com/egoist/docute">docute</a>重写<a href="http://www.xmake.io/#/zh/">文档</a>,提供更加完善的文档支持</li>
  1805. <li>增强<code>os.run</code>, <code>os.exec</code>, <code>os.cp</code>, <code>os.mv</code> 和 <code>os.rm</code> 等接口,支持通配符模式匹配和批量文件操作</li>
  1806. <li>精简和优化构建输出信息,添加<code>-q|--quiet</code>选项实现静默构建</li>
  1807. <li>改进<code>makefile</code>生成插件,抽取编译工具和编译选项到全局变量</li>
  1808. </ul>
  1809. <h3 id="bugs">Bugs修复</h3>
  1810. <ul>
  1811. <li><a href="https://github.com/waruqi/xmake/issues/41">#41</a>: 修复在windows下自动检测x64失败问题</li>
  1812. <li><a href="https://github.com/waruqi/xmake/issues/43">#43</a>: 避免创建不必要的.xmake工程缓存目录</li>
  1813. <li>针对android版本添加c++ stl搜索目录,解决编译c++失败问题</li>
  1814. <li>修复在rhel 5.10上编译失败问题</li>
  1815. <li>修复<code>os.iorun</code>返回数据不对问题</li>
  1816. </ul>
  1817. <h2 id="v205">v2.0.5</h2>
  1818. <h3 id="">新特性</h3>
  1819. <ul>
  1820. <li>为解释器作用域增加一些内建模块支持</li>
  1821. <li>针对windows x64平台,支持ml64汇编器</li>
  1822. </ul>
  1823. <h3 id="">改进</h3>
  1824. <ul>
  1825. <li>增强ipairs和pairs接口,支持过滤器模式,简化脚本代码</li>
  1826. <li>为vs201x工程生成增加文件filter</li>
  1827. <li>移除<code>core/tools</code>目录以及msys工具链,在windows上使用xmake自编译core源码进行安装,优化xmake源码磁盘空间</li>
  1828. <li>移除<code>xmake/packages</code>,默认模板安装不再内置二进制packages,暂时需要手动放置,以后再做成自动包依赖下载编译</li>
  1829. </ul>
  1830. <h3 id="bugs">Bugs修复</h3>
  1831. <ul>
  1832. <li>修复msvc的编译选项不支持问题:<code>-def:xxx.def</code></li>
  1833. <li>修复ml.exe汇编器脚本</li>
  1834. <li>修复选项链接顺序问题</li>
  1835. </ul>
  1836. <h2 id="v204">v2.0.4</h2>
  1837. <h3 id="">新特性</h3>
  1838. <ul>
  1839. <li>在<code>xmake.lua</code>中添加原生shell支持,例如:<code>add_ldflags("$(shell pkg-config --libs sqlite3)")</code></li>
  1840. <li>编译windows目标程序,默认默认启用pdb符号文件</li>
  1841. <li>在windows上添加调试器支持(vsjitdebugger, ollydbg, windbg ... )</li>
  1842. <li>添加<code>getenv</code>接口到<code>xmake.lua</code>的全局作用域中</li>
  1843. <li>添加生成vstudio工程插件(支持:vs2002 - vs2015)</li>
  1844. <li>为option添加<code>set_default</code>接口</li>
  1845. </ul>
  1846. <h3 id="">改进</h3>
  1847. <ul>
  1848. <li>增强内建变量的处理</li>
  1849. <li>支持字符串类型的选项option设置</li>
  1850. </ul>
  1851. <h3 id="bugs">Bugs修复</h3>
  1852. <ul>
  1853. <li>修复在linux下检测ld连接器失败,如果没装g++的话</li>
  1854. <li>修复<code>*.cxx</code>编译失败问题</li>
  1855. </ul>
  1856. <h2 id="v203">v2.0.3</h2>
  1857. <h3 id="">新特性</h3>
  1858. <ul>
  1859. <li>增加头文件依赖自动检测和增量编译,提高编译速度</li>
  1860. <li>在终端中进行颜色高亮提示</li>
  1861. <li>添加调试器支持,<code>xmake run -d program ...</code></li>
  1862. </ul>
  1863. <h3 id="">改进</h3>
  1864. <ul>
  1865. <li>增强运行shell的系列接口</li>
  1866. <li>更新luajit到v2.0.4版本</li>
  1867. <li>改进makefile生成插件,移除对xmake的依赖,并且支持<code>windows/linux/macosx</code>等大部分pc平台</li>
  1868. <li>优化多任务编译速度,在windows下编译提升较为明显</li>
  1869. </ul>
  1870. <h3 id="bugs">Bugs修复</h3>
  1871. <ul>
  1872. <li>修复安装目录错误问题</li>
  1873. <li>修复<code>import</code>根目录错误问题</li>
  1874. <li>修复在多版本vs同时存在的情况下,检测vs环境失败问题</li>
  1875. </ul>
  1876. <h2 id="v202">v2.0.2</h2>
  1877. <h3 id="">改进</h3>
  1878. <ul>
  1879. <li>修改安装和卸载的action处理</li>
  1880. <li>更新工程模板</li>
  1881. <li>增强函数检测</li>
  1882. </ul>
  1883. <h3 id="bugs">Bugs修复</h3>
  1884. <ul>
  1885. <li><a href="https://github.com/waruqi/xmake/issues/7">#7</a>: 修复用模板创建工程后,target名不对问题:&#39;[targetname]&#39;</li>
  1886. <li><a href="https://github.com/waruqi/xmake/issues/9">#9</a>: 修复clang不支持c++11的问题</li>
  1887. <li>修复api作用域泄露问题</li>
  1888. <li>修复在windows上的一些路径问题</li>
  1889. <li>修复检测宏函数失败问题</li>
  1890. <li>修复检测工具链失败问题</li>
  1891. <li>修复windows上编译android版本失败</li>
  1892. </ul>
  1893. <h2 id="v201">v2.0.1</h2>
  1894. <h3 id="">新特性</h3>
  1895. <ul>
  1896. <li>增加task任务机制,可运行自定义任务脚本</li>
  1897. <li>实现plugin扩展机制,可以很方便扩展实现自定义插件,目前已实现的一些内置插件</li>
  1898. <li>增加project文件导出插件(目前已支持makefile的生成,后续会支持:vs, xcode等工程的生成)</li>
  1899. <li>增加hello xmake插件(插件demo)</li>
  1900. <li>增加doxygen文档生成插件</li>
  1901. <li>增加自定义宏脚本插件(支持动态宏记录、宏回放、匿名宏、批量导入、导出等功能)</li>
  1902. <li>增加更多的类库用于插件化开发</li>
  1903. <li>实现异常捕获机制,简化上层调用逻辑</li>
  1904. <li>增加多个option进行宏绑定,实现配置一个参数,就可以同时对多个配置进行生效</li>
  1905. <li>增加显示全局构建进度</li>
  1906. </ul>
  1907. <h3 id="">改进</h3>
  1908. <ul>
  1909. <li>重构整个xmake.lua描述文件的解释器,更加的灵活可扩展</li>
  1910. <li>更加严格的语法检测机制</li>
  1911. <li>更加严格的作用域管理,实现沙盒引擎,对xmake.lua中脚本进行沙盒化处理,使得xmake.lua更加的安全</li>
  1912. <li>简化模板的开发,简单几行描述就可以扩展一个新的自定义工程模板</li>
  1913. <li>完全模块化platforms、tools、templates、actions,以及通过自注册机制,只需把自定义的脚本放入对应目录,就可实现快速扩展</li>
  1914. <li>针对所有可扩展脚本所需api进行大量简化,并实现大量类库,通过import机制进行导入使用</li>
  1915. <li>移除对gnu make/nmake等make工具的依赖,不再需要makefile,实现自己的make算法,</li>
  1916. <li>优化构建速度,支持多任务编译(支持vs编译器)(实测:比v1.0.4提升x4倍的构建性能)</li>
  1917. <li>优化自动检测机制,更加的稳定和准确</li>
  1918. <li>修改部分工程描述api,增强扩展性,减少一些命名歧义(对低版本向下兼容)</li>
  1919. <li>优化静态库合并:<code>add_files("*.a")</code>,修复一些bug</li>
  1920. <li>优化交叉编译,通过<code>--sdk=xxx</code>参数实现更加方便智能的进行交叉编译配置,简化mingw平台的编译配置</li>
  1921. <li>简化命令行配置开关, 支持<code>xmake config --xxx=[y|n|yes|no|true|false]</code>等开关值</li>
  1922. <li>合并iphoneos和iphonesimulator平台,以及watchos和watchsimulator平台,通过arch来区分,使得打包更加方便,能够支持一次性打包iphoneos的所有arch到一个包中</li>
  1923. </ul>
  1924. <h3 id="bugs">Bugs修复</h3>
  1925. <ul>
  1926. <li><a href="https://github.com/waruqi/xmake/issues/3">#3</a>: 修复ArchLinux 编译失败问题</li>
  1927. <li><a href="https://github.com/waruqi/xmake/issues/4">#4</a>: 修复windows上安装失败问题</li>
  1928. <li>修复windows上环境变量设置问题</li>
  1929. </ul>
  1930. <h2 id="v104">v1.0.4</h2>
  1931. <h3 id="">新特性</h3>
  1932. <ul>
  1933. <li>增加对windows汇编器的支持</li>
  1934. <li>为xmake create增加一些新的工程模板,支持tbox版本</li>
  1935. <li>支持swift代码</li>
  1936. <li>针对-v参数,增加错误输出信息</li>
  1937. <li>增加apple编译平台:watchos, watchsimulator的编译支持</li>
  1938. <li>增加对windows: x64, amd64, x86_amd64架构的编译支持</li>
  1939. <li>实现动态库和静态库的快速切换</li>
  1940. <li>添加-j/--jobs参数,手动指定是否多任务编译,默认改为单任务编译</li>
  1941. </ul>
  1942. <h3 id="">改进</h3>
  1943. <ul>
  1944. <li>增强<code>add_files</code>接口,支持直接添加<code>*.o/obj/a/lib</code>文件,并且支持静态库的合并</li>
  1945. <li>裁剪xmake的安装过程,移除一些预编译的二进制程序</li>
  1946. </ul>
  1947. <h3 id="bugs">Bugs修复</h3>
  1948. <ul>
  1949. <li><a href="https://github.com/waruqi/xmake/issues/4">#1</a>: 修复win7上安装失败问题</li>
  1950. <li>修复和增强工具链检测</li>
  1951. <li>修复一些安装脚本的bug, 改成外置sudo进行安装</li>
  1952. <li>修复linux x86_64下安装失败问题</li>
  1953. </ul>
  1954. <h2 id="v103">v1.0.3</h2>
  1955. <h3 id="">新特性</h3>
  1956. <ul>
  1957. <li>添加set_runscript接口,支持自定义运行脚本扩展</li>
  1958. <li>添加import接口,使得在xmake.lua中可以导入一些扩展模块,例如:os,path,utils等等,使得脚本更灵活</li>
  1959. <li>添加android平台arm64-v8a支持</li>
  1960. </ul>
  1961. <h3 id="bugs">Bugs修复</h3>
  1962. <ul>
  1963. <li>修复set_installscript接口的一些bug</li>
  1964. <li>修复在windows x86_64下,安装失败的问题</li>
  1965. <li>修复相对路径的一些bug</li>
  1966. </ul>
  1967. </article>
  1968. </body>
  1969. </html>