CHANGES.txt 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656
  1. --------------------
  2. 5.0-beta1
  3. --------------------
  4. See https://github.com/premake/premake-core/wiki/What's-New-in-5.0
  5. for the complete list of changes from the Premake 4.x series.
  6. Since 5.0-alpha16:
  7. * PR #1555 Added API to disable fast up to date checks (@nickclark2016)
  8. * PR #1570 Initial C++20 module support for Visual Studio (@hannes-harnisch)
  9. * PR #1619 Xcode embed libraries (@nickgravelyn)
  10. * PR #1625 Remove "*ng" action deprecation (@noresources)
  11. * PR #1629 Added support for Premake on macOS universal binary (@tempura-sukiyaki)
  12. * PR #1635 Fix typo in Using Premake documentation (@abhiss)
  13. * PR #1638 Fix broken links in docs (@KyrietS)
  14. * PR #1642 Fix spelling mistake (@Troplo)
  15. * PR #1644 Fix author name and update time on pages (@KyrietS)
  16. * PR #1645 Add missing support for prebuildmessage/postbuildmessage for Codelite. (@Jarod42)
  17. * PR #1649 Fix curl header search path (@depinxi)
  18. * PR #1654 xcode4: Fix missing link of sibling project with custom targetextension (@depinxi)
  19. * PR #1655 Compiler Version support for Visual Studion 2017+ (@nickclark2016)
  20. * PR #1657 Renormalize line endings (@nickclark2016)
  21. * PR #1661 Add frameworkdirs support to gmake and gmake2 with gcc/clang toolsets (@depinxi)
  22. * PR #1663 compilebuildoutputs make some comments obsolete. (@Jarod42)
  23. * PR #1668 Fix v6 bootstrapping from v5 (@starkos)
  24. * PR #1673 Updated sidebar to include toolsversion link (@premake)
  25. * PR #1680 Fix some build issues with mingw (@Biswa96)
  26. * PR #1682 Add Community Update #9 (@starkos)
  27. * PR #1687 Update deprecated entry for `newaction` (@Jarod42)
  28. * PR #1704 VS2022 Exporter (@nickclark2016)
  29. * PR #1710 Add support for SSE 4.2. (@ActuallyaDeviloper)
  30. * PR #1712 Add OpenMP support for Visual Studio (@T-rvw)
  31. * PR #1713 Upgrade docusaurus version to beta.6 (@KyrietS)
  32. * PR #1715 Docs maintenance (@KyrietS)
  33. * PR #1718 Deprecate `configuration()` (@starkos)
  34. * PR #1720 Improve `justmycode` (@T-rvw)
  35. * PR #1723 Add condition to `.csproj` references ItemGroup (@cicanci)
  36. * PR #1726 Updated cdialect and cppdialect docs (@LORgames)
  37. * PR #1727 Updated architecture docs (@LORgames)
  38. * PR #1730 Added missing compileas values to docs (@LORgames)
  39. * PR #1734 Add VS 2022 bootstrapping support (@afxw)
  40. * PR #1736 Update showcase to include Orx (@sausagejohnson)
  41. * PR #1662 Handle buildcommand for Codelite (@Jarod42)
  42. * PR #1658 Fix D module compiler output for Visual Studio (@nickclark2016)
  43. * PR #1728 Add action to check for and generate missing documentation (@ssurtees)
  44. * PR #1721 Add custom rules for Gmake2 & Codelite (@Jarod42)
  45. * PR #1739 Fix #1628 failing macOS os.findlib() test (@starkos)
  46. Since 5.0-alpha15:
  47. * PR #1430 Fixed adding LD_LIBRARY_PATH to the executable run command. (@Enhex)
  48. * PR #1439 Disable XP deprecation warning for Visual Studio projects (@withmorten)
  49. * PR #1446 Do not add <Link> for .NET resources or the resource will not be properly embedded. (@rhuvendiek)
  50. * PR #1447 Added /Wall to possible warning levels for Visual Studio (@ethan-wallace)
  51. * PR #1454 Bootstrap.mak clean target(s) (@noresources)
  52. * PR #1460 Add C++20 cppdialect for C++ projects (@nickclark2016)
  53. * PR #1462 Added clang as a valid option for projects generated with vs2019 (@nickclark2016)
  54. * PR #1468 macOS deployment target support for gcc and clang (@noresources)
  55. * PR #1473 macOS os.getversion() improvements (@noresources)
  56. * PR #1477 Add support for .swift file for xcode (@socialpoint)
  57. * PR #1481 Improved ability to override XCode generator (@LORgames)
  58. * PR #1482 Disable redirect test until HTTP endpoint is fixed (@LORgames)
  59. * PR #1483 Add file details to Windows builds including version number (@LORgames)
  60. * PR #1484 Fixed issue with os.matchfiles and symlinks (@LORgames)
  61. * PR #1485 Added Windows implementation to os.touchfile to avoid issues with truncating the file (@LORgames)
  62. * PR #1499 GitHub Actions: Artifacts (@sphene)
  63. * PR #1503 Update cxx standard; (@continue98)
  64. * PR #1505 Fix sysincludedirs for codelite. (@Jarod42)
  65. * PR #1506 Fix quote escaping in Codelite. (@Jarod42)
  66. * PR #1515 ConformanceMode flag implemented for >= vs2017 (@cos-public)
  67. * PR #1519 Add Metal shader files as source code (@nickgravelyn)
  68. * PR #1522 Fixed external library linking for Clang in VS2019+ (@nickclark2016)
  69. * PR #1523 Added C++1z and C++2a dialect options for XCode (@nickclark2016)
  70. * PR #1525 [Codelite] Only active (i.e. unique) configuration should be selected. (@Jarod42)
  71. * PR #1527 Removed old CI build files (@LORgames)
  72. * PR #1528 Added COPYFILE and COPYDIR tokens (@LORgames)
  73. * PR #1529 NMake projects can now specify buildoptions and cppdialect (@LORgames)
  74. * PR #1530 Remove unused code in vs2010_vcxproj.lua (@LORgames)
  75. * PR #1532 Disable network tests; add --test-all flag to enable (@starkos)
  76. * PR #1534 Added Ability to Disable JMC in Visual Studio (@nickclark2016)
  77. * PR #1540 Xcode improvements (@noresources)
  78. * PR #1542 Improve the user contribution resources (@premake)
  79. * PR #1551 Added NetCore to CLR API (@nickclark2016)
  80. * PR #1552 Fix MSC LTO, runtime, subsystem (@JoelLinn)
  81. * PR #1554 clang Use `llvm-ar` linker when LTO flag is set. (@JoelLinn)
  82. * PR #1560 Added newer shader versions (@dpeter99)
  83. * PR #1562 Remove moduledownloader to avoid RCE. (@xenia-project)
  84. * PR #1564 Improved net version check to also support net5.0 and beyond (@ClxS)
  85. * PR #1565 AllowUnsafeBlocks will now be a project level property in new format (@ClxS)
  86. * PR #1566 Set execute bit on Bootstrap.bat (@ratzlaff)
  87. * PR #1571 useFullPaths config property for Visual Studio projects (@cos-public)
  88. * PR #1576 Mesh and amplification shader type for Visual Studio (@pkurth)
  89. * PR #1587 Introduce new website with docs with docusaurus (@KyrietS)
  90. * PR #1589 os.outputof: add a second argument to select which stream to output (@noresources)
  91. * PR #1593 Update to mbedtls 2.25 (@susnux)
  92. * PR #1594 Added reference pages to docs (@KyrietS)
  93. * PR #1597 Port user guide pages from wiki (@starkos)
  94. * PR #1600 Add GitHub Action workflow for website deployment (@KyrietS)
  95. * PR #1602 Rework website home & download pages (@starkos)
  96. * PR #1604 Break out community section on website (@starkos)
  97. * PR #1606 add RemoveUnreferencedCodeData option to disable /Zc:inline (@withmorten)
  98. * PR #1607 Add Algolia search (@KyrietS)
  99. * PR #1608 Fix Premake logo in README (@KyrietS)
  100. * PR #1609 Encourage contributors to align the docs (@KyrietS)
  101. * PR #1610 Improve new user website navigation (@starkos)
  102. * PR #1614 Set up blog; move community updates (@starkos)
  103. Since 5.0-alpha14:
  104. * PR #1086 Added support for Objective-C and Objective-C++ in xcode and gmake2nil (@LORgames)
  105. * PR #1192 Update path.lua (@dsvi)
  106. * PR #1229 Generated makefiles no longer error when a configuration can be missing (@LORgames)
  107. * PR #1275 Fixed various issues with escaping in CodeLite generator (@LORgames)
  108. * PR #1280 Bootstrap.bat: Default to latest Visual Studio available (@tdesveauxPKFX)
  109. * PR #1281 Source package improvements (@tdesveauxPKFX)
  110. * PR #1282 Fix VS2019 solution icons (@ifarbod)
  111. * PR #1285 Use correct values for MinimumVisualStudioVersion in Android projects (@ifarbod)
  112. * PR #1289 Haiku fixes (@mmuman)
  113. * PR #1296 Fix source packaging (@tdesveauxPKFX)
  114. * PR #1298 Update D module to VS2019 and latest D compiler options. (@TurkeyMan)
  115. * PR #1305 Reconcile logic within os_matchisfile() (@cfs-pure)
  116. * PR #1313 Activating Open Collective (@opencollective)
  117. * PR #1316 Add FUNDING.yml for GitHub Sponsors (@starkos)
  118. * PR #1318 Updated mismatched android config to the value in the allowed stl table (@LORgames)
  119. * PR #1323 Update copyright year in support files (@starkos)
  120. * PR #1324 Add a CONTRIBUTING.md (@starkos)
  121. * PR #1325 Improve the README (@starkos)
  122. * PR #1326 Update issue templates (@premake)
  123. * PR #1327 Add a pull request template (@premake)
  124. * PR #1332 Account for filename collisions on systems with case-insensitive file… (@ratzlaff)
  125. * PR #1333 Cleanup related to #1332 (@ratzlaff)
  126. * PR #1334 Implement 'compileas' for vc2008 (@ratzlaff)
  127. * PR #1337 On OSX, convert systemversion to MACOSX_DEPLOYMENT_TARGET (@baconpaul)
  128. * PR #1340 Upgrade Lua from 5.3.4 to 5.3.5 (@jp31415926)
  129. * PR #1341 Add new issue template "Get help" (@premake)
  130. * PR #1342 Improve bug reporting template (@premake)
  131. * PR #1343 Improve feature request template (@premake)
  132. * PR #1345 New 'listWindowsRegistry' OS API method for enumerating content of single registry subkey (@kaldap)
  133. * PR #1351 Added support for vcxitems project generation for VS2013+ (@LORgames)
  134. * PR #1352 Improved test runner usage (@LORgames)
  135. * PR #1353 Fix premake4.lua bootstrap build script (@fountainment)
  136. * PR #1355 Add shaderincludedirs to fxcompile configuration (@starkos)
  137. * PR #1356 Allow wildcards in xcodebuildresources (@starkos)
  138. * PR #1357 Replace debuggerflavor with debugger (take #2) (@starkos)
  139. * PR #1358 Added support for Dx11.3 shader model (@zlnimda)
  140. * PR #1359 Add assemblyDebug for vs2017 (@tbasnoopy)
  141. * PR #1360 Fix the return value of some os functions (@sp-jordi-vilalta)
  142. * PR #1361 Simplified unit test to resolve path issues (@LORgames)
  143. * PR #1362 Fixed inconsistencies in Android VS project test (@LORgames)
  144. * PR #1365 E2K: fixed build by MCST lcc compiler (@r-a-sattarov)
  145. * PR #1385 Fix pull request template (@tempura-sukiyaki)
  146. * PR #1386 Initial support for generating netcore and netstandard projects (@ClxS)
  147. * PR #1395 Fixed edge case in path.normalize (@LORgames)
  148. * PR #1396 Fixed bug with linkgroups only working on Premake projects (@LORgames)
  149. * PR #1401 Remove commands optimization which breaks tokens (@starkos)
  150. * PR #1402 Remove checkFunc from Resource files (@yuyoyuppe)
  151. * PR #1403 Add build steps to Visual Studio (@redorav)
  152. * PR #1404 Place all generated files in separate GENERATED list, so they all can… (@Mikhael-Danilov)
  153. * PR #1406 Change deferred join delimiter to non-printable character (@starkos)
  154. * PR #1415 Add .c++ extension support to a few spots it was missing (@englercj)
  155. * PR #1419 Fix #1411: Remove "|" from Codelite config names (@starkos)
  156. * PR #1420 Fix MinGW builds of Premake (@premake)
  157. * PR #1421 Enable enablewarnings() for MSC (@starkos)
  158. * PR #1422 Added GitHub Actions (@LORgames)
  159. * PR #1424 Fix systemversion("latest") on VS2017 (@starkos)
  160. * PR #1427 Fix up and improve the release docs and script (@premake)
  161. Since 5.0-alpha13:
  162. * PR #1067 Add 'Default', 'Dwarf' and 'SplitDwarf' arguments to 'debugformat' (@ratzlaff)
  163. * PR #1160 use ';' as default separator for vs (@WorldofBay)
  164. * PR #1177 Enable property categories in VS projects (@WorldofBay)
  165. * PR #1178 Avoid impl dependent multi-char constants (@cengizIO)
  166. * PR #1179 fix `xcodebuildsettings` using false (@tempura-sukiyaki)
  167. * PR #1180 Add `os.ios` option in xcode4 (@tempura-sukiyaki)
  168. * PR #1181 Release 5.0 alpha13 (@premake)
  169. * PR #1189 Host path.normalize: Fix normalization for paths containing tokens (@tdesveauxPKFX)
  170. * PR #1191 Fix objname collisions (@ratzlaff)
  171. * PR #1193 Add tests for xcode id generator (@ratzlaff)
  172. * PR #1194 Move rule property string expansion into modules (@WorldofBay)
  173. * PR #1197 Added missing elements in Visual Studio Makefile projects (@LORgames)
  174. * PR #1202 Support %{file.name} token in VS (@Blizzard)
  175. * PR #1203 Add support for JavaCompile in vsandroid (@tempura-sukiyaki)
  176. * PR #1206 Updated code lite to properly add LD_LIBRARY_PATH is set if libdirs is set (@pintodragon)
  177. * PR #1218 Add support & tests for XCTest sharedlibtype (@Dingobloo)
  178. * PR #1220 Implement the androidapilevel() API in Android packaging projects (@ifarbod)
  179. * PR #1221 add nil check to fileconfig.hasFileSetting (gmake) (@WorldofBay)
  180. * PR #1224 add missing local (@WorldofBay)
  181. * PR #1228 Added Win64 as a recognized platform (@LORgames)
  182. * PR #1230 Removed excessive escaping in CodeLite generator (@LORgames)
  183. * PR #1231 Fixed issue with per-configuration build commands not returning errors correctly (@LORgames)
  184. * PR #1236 Added support for Dx12 shader models (@CosmicRey)
  185. * PR #1239 Implemented the startproject option for xcode (@macsforme)
  186. * PR #1240 allow linking of mixed c++ assemblies (@WorldofBay)
  187. * PR #1244 Fixed issue with detoken not handling deferred joins correctly (@LORgames)
  188. * PR #1247 Added support for `csversion` API to dotnet toolset. (@tritao)
  189. * PR #1248 Default to Roslyn-based `csc` compiler on all platforms. (@tritao)
  190. * PR #1249 do not clear _isIncludingExternal in nested calls (@WorldofBay)
  191. * PR #1253 Xcode newid determinism (@ratzlaff)
  192. * PR #1258 Added support for Visual Studio 2019 solutions (@CosmicRey)
  193. * PR #1264 Android changes, stage 1 (#1263) (@ifarbod)
  194. * PR #1266 Implement the 'visibility' API for Android projects (@ifarbod)
  195. * PR #1267 Provide access to json implementation (@ratzlaff)
  196. * PR #1276 Added support for forceincludes in CodeLite (@LORgames)
  197. * PR #1278 Packaging script improvement (@tdesveauxPKFX)
  198. Since 5.0-alpha12:
  199. * PR #880 Allow tokens to start with a ! to disable making paths relative. (@Blizzard)
  200. * PR #882 Allow filtering on host. (@Blizzard)
  201. * PR #883 Added basic iOS support to XCode4 (@LORgames)
  202. * PR #889 Fix context.mergeFilters (@tdesveaux)
  203. * PR #897 Fix c(pp)dialect generating uppercase C(++)xx for Xcode, replace gnu99 with compiler-default (@hsandt)
  204. * PR #902 VS fix for projects with multiple manifest files (@Blizzard)
  205. * PR #913 Fix subtle bug in table.translate (@Blizzard)
  206. * PR #919 Add perfile flags test for gmake backend. (@Blizzard)
  207. * PR #920 small fix in self-test module. (@Blizzard)
  208. * PR #921 Compiler warnings (@Blizzard)
  209. * PR #922 gmake2 bug fix. When generating gmake file with pch headers (@Blizzard)
  210. * PR #923 Add Visual Studio ARM64 support. (@Blizzard)
  211. * PR #926 Fixes translateCommandsAndPaths, and debugargs. (@Blizzard)
  212. * PR #927 bug fix for recursive token expansion (@Blizzard)
  213. * PR #928 sometimes due to ordering of test, we're in a rule scope. (@Blizzard)
  214. * PR #931 Added synchronous and C-Throw to VS projects. (@CreativeAssembly)
  215. * PR #932 Added extra information for Windows platform when copyfile fails. (@pjohalloran)
  216. * PR #938 Added `staticruntime` API. (#163) (@premake)
  217. * PR #939 Resolve the rule properties for gmake (#162) (@premake)
  218. * PR #941 Fix makefile PCH tab problem (@premake)
  219. * PR #944 C++0x dialect support (@premake)
  220. * PR #945 Natvis files have an item group. (@premake)
  221. * PR #948 Fixed a bug in gmake2 with clang and pch. (@Gereld)
  222. * PR #949 Added DPI awareness support to VS2010+ projects (@LORgames)
  223. * PR #950 Added defaultplatform support to gmake and gmake2 actions (@LORgames)
  224. * PR #952 Add support for `targetextension` in xcode4 (@tempura-sukiyaki)
  225. * PR #957 fix gmake2 utility (@Blizzard)
  226. * PR #958 fix context.addFilter (@Blizzard)
  227. * PR #959 Multiple gmake2 fixes (@Blizzard)
  228. * PR #960 Improve determinism in sln output. (@Blizzard)
  229. * PR #961 add 64-bit support on windows (@Blizzard)
  230. * PR #962 fix table.insertkeyed (@Blizzard)
  231. * PR #964 Add support for wildcards in mapconfig. (@Blizzard)
  232. * PR #965 Move part of the workspace baking up (@premake)
  233. * PR #966 utility projects also allow configuration of the executable path. (@Blizzard)
  234. * PR #967 return generated fileconfig. (@Blizzard)
  235. * PR #969 Fix buildoutput pathvars (@Blizzard)
  236. * PR #970 Table fix indexof (@Blizzard)
  237. * PR #979 Define _HAS_EXCEPTIONS=0 from vs2010 for exceptionhandling off (@tdesveauxPKFX)
  238. * PR #980 src/base and modules: change links to industriousone.com to working HTTPS github links (@catb0t)
  239. * PR #988 Fixed a bug with normalizing paths that contain dot folders (@LORgames)
  240. * PR #990 Extended Instructions sets (@tdesveauxPKFX)
  241. * PR #993 Fix /usr/lib64 being used as search dir before project's libdir (@alexandre-janniaux)
  242. * PR #994 added a 'latest' systemversion for vs2017 (@dcourtois)
  243. * PR #1005 Fix gmake dependencies (@premake)
  244. * PR #1011 Fixes an issue with custom rules tracking files. (@Dandielo)
  245. * PR #1018 Added release info badges to the readme (@LORgames)
  246. * PR #1019 Remove git submodule commands (@Passw)
  247. * PR #1020 Embed luasocket, add mobdebug and --debugger command line option (@redorav)
  248. * PR #1021 Clear additional global state between unit test runs (@starkos)
  249. * PR #1023 Include library directories in Codelite projects (@Gaztin)
  250. * PR #1029 Replace last global state block in api.reset (@starkos)
  251. * PR #1030 Fix vstudio symbolspath (@tdesveauxPKFX)
  252. * PR #1031 Fix gmake2 Makefile projects callArray (@tdesveauxPKFX)
  253. * PR #1033 vstudio staticlib symbolspath (@tdesveauxPKFX)
  254. * PR #1034 Add 'modules/android/' from premake-android (@LORgames)
  255. * PR #1037 HLSL Shader compilation in Visual Studio (@tdesveauxPKFX)
  256. * PR #1040 Get 'compileas' working when using a 'filter "files: ..."' scope. (@ratzlaff)
  257. * PR #1041 Fleshed out CI builds (@LORgames)
  258. * PR #1042 Add UnsignedChar API (@tdesveauxPKFX)
  259. * PR #1043 Add omitframepointer API (@tdesveauxPKFX)
  260. * PR #1044 Add Visibility API for gcc/clang toolsets (@tdesveauxPKFX)
  261. * PR #1045 Add debuggerflavor API (@tdesveauxPKFX)
  262. * PR #1046 Add structmemberalign API (@tdesveauxPKFX)
  263. * PR #1048 Add conditional behavior to global variables, add systemversion as first implementation (@redorav)
  264. * PR #1049 Add InlinesVisibility API (@tdesveauxPKFX)
  265. * PR #1053 Fixed issue with floatingpoint "Strict" causing errors in XCode (@LORgames)
  266. * PR #1062 Allow system("android") per configuration (@redorav)
  267. * PR #1064 Tiny gcc fix from PR #506. (@tvandijck)
  268. * PR #1065 Fixes a few luasocket compile warnings. (@tvandijck)
  269. * PR #1066 fix a few compiler warnings. (@tvandijck)
  270. * PR #1068 Fix constructing executable path from argv[0] (@lanurmi)
  271. * PR #1069 Support successfully bootstrapping on Solaris (OpenIndiana). (@lanurmi)
  272. * PR #1070 Support successfully bootstrapping on OpenBSD. (@lanurmi)
  273. * PR #1075 Fixed bug with alias tests that caused one to three extra tests to be run (@LORgames)
  274. * PR #1077 Do not output colors e.g. into a pipe, unless forced. (@lanurmi)
  275. * PR #1078 Added GoogleTest style output for unit tests (@LORgames)
  276. * PR #1080 Fix curl compilation on Debian PowerPC. (@lanurmi)
  277. * PR #1081 cache results of shouldUseColors() (@tvandijck)
  278. * PR #1084 Fix httpbin useragent response format. (@SchmidtD)
  279. * PR #1087 Fix missing DebugInformationFormat when symbols are set to full (@rorydriscoll)
  280. * PR #1089 Import paths weren't translated properly (@TurkeyMan)
  281. * PR #1092 CodeLite workspace folders (groups) (@Gaztin)
  282. * PR #1093 Implemented 'debugenvs' for CodeLite (@Gaztin)
  283. * PR #1096 gmake2: Fix dependency for pch (@tdesveauxPKFX)
  284. * PR #1098 Prevent D module from adding D block in unrelated projects (@tdesveauxPKFX)
  285. * PR #1100 gmake2: Remove pch from FORCE_INCLUDE to allow NoPCH per-file (@tdesveauxPKFX)
  286. * PR #1103 gmake*: fix shell type identification (@tdesveauxPKFX)
  287. * PR #1104 Xcode Fixes (@erincatto)
  288. * PR #1105 gmake: Add rules and dependencies for directory creation (@tdesveauxPKFX)
  289. * PR #1107 Only set WindowsSDKDesktopARMSupport for windows systems (#172) (@Blizzard)
  290. * PR #1108 Fix gmake2 (@Blizzard)
  291. * PR #1113 Support buildaction for C++ projects (@Blizzard)
  292. * PR #1115 Remove Xbox 360 code from core to move and expand onto a standalone module (@redorav)
  293. * PR #1117 Fix Xcode autocompletion with excluded files (@sp-jordi-vilalta)
  294. * PR #1118 gmake2: fix cpp perfileflags (@tdesveauxPKFX)
  295. * PR #1125 Swap order of applying project specific config (@Blizzard)
  296. * PR #1126 vpath android.link fix (@Blizzard)
  297. * PR #1132 Refactor path.normalize and handle path ending with . (@tdesveauxPKFX)
  298. * PR #1136 Support server paths (@Gaztin)
  299. * PR #1137 Fix gmake multiple-output rule issue. (@Blizzard)
  300. * PR #1142 Support for CSDialect (@Blizzard)
  301. * PR #1143 Fix `targetextension` in xcode4 (@tempura-sukiyaki)
  302. * PR #1144 Add `sharedlibtype` in xcode4 (@tempura-sukiyaki)
  303. * PR #1145 Add support `kind:Utility` in xcode4 (@tempura-sukiyaki)
  304. * PR #1161 Add `xcodesystemcapabilities` in xcode4 (@tempura-sukiyaki)
  305. * PR #1164 ! fixed pepper fish to work with lua 5.3.4 (@neo2buha)
  306. * PR #1167 Add support for per-file custom build commands in xcode4 (@tempura-sukiyaki)
  307. * PR #1176 path.normalize: Fix when call with path surrounded with quotes (@tdesveauxPKFX)
  308. Since 5.0-alpha11:
  309. * PR #617 fix switch/separator in rules_xml (@Blizzard)
  310. * PR #639 Add MSBuild target to Bootstrap.mak (@nta)
  311. * PR #644 Don't treat "dependson" libraries as "links" libraries in Xcode (@macsforme)
  312. * PR #659 Add C11 flag support for GCC (@resetnow)
  313. * PR #668 Fix sporadic failures when using make -j# (@UmbraSoftware)
  314. * PR #672 Fix issue with msc.getlinks and vstudio.getLinks returning different results when 'explicit' is true. (@Blizzard)
  315. * PR #673 Add additional tokens to fileconfig and vs2010+. (@Blizzard)
  316. * PR #675 update semver.lua (@Blizzard)
  317. * PR #678 Escape string literals passed to defines() for Xcode (@macsforme)
  318. * PR #679 Better detect debug build (@TurkeyMan)
  319. * PR #685 Detect native source files. (@TurkeyMan)
  320. * PR #686 Refactor language flags to go through the language API. (@Blizzard)
  321. * PR #687 Windows Registry (@tvandijck)
  322. * PR #690 make buffered_io available for c code too. (@Blizzard)
  323. * PR #707 Fix missing CA certs on Windows (@Jusonex)
  324. * PR #718 Adding support for NotSet characterset in VS2010+ (#79) (@Blizzard)
  325. * PR #721 Fix CodeLite linking issues (@Blizzard)
  326. * PR #728 Add support of UTF-8 for Windows (@DrLynix)
  327. * PR #732 Fix VS2013 and older always rebuilding when debug symbols explicitly … (@jstewart)
  328. * PR #733 Generated project files are now correctly located beside script (@LORgames)
  329. * PR #734 NuGet fixes (@aleksijuvani)
  330. * PR #735 Fixed issue with Clang not actually supporting floatingpoint 'strict' (@LORgames)
  331. * PR #736 Fixed issue where VS2010+ projects didn't support floatingpoint 'Default' (@LORgames)
  332. * PR #737 Add string.escapepattern function (@aleksijuvani)
  333. * PR #738 Update curl to 7.53.1 (@aleksijuvani)
  334. * PR #739 Refactor _OS, os.get() & os.is() (@Blizzard)
  335. * PR #740 Properly deprecate WinMain flag (@LORgames)
  336. * PR #742 Added BSD support (@LORgames)
  337. * PR #743 Clean up the deprecated APIs (@industriousone)
  338. * PR #745 Fixed issue with using startproject API in CodeLite (@LORgames)
  339. * PR #746 Fixed erroneous escape usages in VS2010+ (@LORgames)
  340. * PR #747 Bootstrap makefile now cleans up previous builds before building (@LORgames)
  341. * PR #748 os.translateCommands now supports multiple tokens (@LORgames)
  342. * PR #749 Updated packaging script (@LORgames)
  343. * PR #751 CompileAs element handles C++ now (@LORgames)
  344. * PR #752 Fixed various issues with compiling with VS2012 (@LORgames)
  345. * PR #753 Added proxy URL to http options (@LORgames)
  346. * PR #754 Fixed issue with the OBJDIR value not being escaped (@LORgames)
  347. * PR #755 Add 'supports_language' callback to action (@Blizzard)
  348. * PR #756 Fix a call to deprecated os.get() (@Blizzard)
  349. * PR #757 Increased consistency of p. usage (@LORgames)
  350. * PR #758 Cleaned up inconsistencies in whitespace (@LORgames)
  351. * PR #760 Adding ARM support for Visual Studio. (@Blizzard)
  352. * PR #761 Removed echo off in VS rules prop generator (@LORgames)
  353. * PR #763 [core] Print warnings in purple (@Blizzard)
  354. * PR #764 [core] get file/line information on deprecated API's. (@Blizzard)
  355. * PR #768 [core] Fix Visual Studio ExecutablePath settings. (@Blizzard)
  356. * PR #769 [core] new cmd path decorations with %[] syntax (@Blizzard)
  357. * PR #771 [core] Use 'compileAs' API (@Blizzard)
  358. * PR #772 [core] Don't set default entrypoint, rely on visual studio default. (@Blizzard)
  359. * PR #774 Assure a default toolset is always set. (@Blizzard)
  360. * PR #776 [core] Use 'cdialect' and 'cppdialect' instead of 'language'. (@Blizzard)
  361. * PR #778 Added support at the file level for the NoPCH flag in VS200x projects (@LORgames)
  362. * PR #779 add os.findheader() (@noresources)
  363. * PR #781 Allow filters to be written as tables: (@Blizzard)
  364. * PR #785 Unicode file functions for Windows (@DrLynix)
  365. * PR #786 Fix typo in embed.lua (@DrLynix)
  366. * PR #787 os.comparefiles function (@DrLynix)
  367. * PR #788 Provide a way to 'tag' systems, and filter on those tags. (@Blizzard)
  368. * PR #789 Add 'tags' filter api. (@Blizzard)
  369. * PR #790 [self-test] fix nil dereference crash in test.isequal (@Blizzard)
  370. * PR #798 create object directory before generating precompiled header (@noresources)
  371. * PR #801 Groups in XCode workspace working. (@ricka)
  372. * PR #802 Suppress mkdir warning on Windows if the folder already exists (@aleksijuvani)
  373. * PR #803 Gmake2 module (@Blizzard)
  374. * PR #804 Update to Lua 5.3.4 (@Blizzard)
  375. * PR #805 Add --insecure option for SSL curl requests. (@Blizzard)
  376. * PR #806 Add premake.isSemVer function (@Blizzard)
  377. * PR #807 Added visual studio support for dot net .tt files (@Blizzard)
  378. * PR #808 Added per file rtti generation for Visual Studio (@Blizzard)
  379. * PR #809 Added os touchfile and a workaround for vs2010 reloading (@Blizzard)
  380. * PR #810 Added masm handling of seh exception handling for VS2010 and above (@Blizzard)
  381. * PR #811 Add 'preferredtoolarchitecture' API (@Blizzard)
  382. * PR #812 Add support for cppdialect in VS2015 & VS2017 actions. (@Blizzard)
  383. * PR #813 Add json.encode_pretty wrapper. (@Blizzard)
  384. * PR #814 Add premake.info message function. (@Blizzard)
  385. * PR #815 Errors in red. (@Blizzard)
  386. * PR #816 Fixed C++17 flag to work with current versions of Clang. (@Blizzard)
  387. * PR #817 A few gmake2 fixes due to it moving into a module. (@premake)
  388. * PR #818 Make module of 'gmake' action. (@Blizzard)
  389. * PR #821 Attempt at colors on linux (@Blizzard)
  390. * PR #822 Move VStudio action into a module. (@Blizzard)
  391. * PR #824 Set default toolsets for vs2005 and vs2008. (@Blizzard)
  392. * PR #825 Use workspace everywhere (@Blizzard)
  393. * PR #826 Escape '&' -> '&amp;' (@Mikhael)
  394. * PR #827 Added option to create bundle and frameworks on macOS. (@Blizzard)
  395. * PR #828 Normalize path in 'getfileinfo' for local host. (@Blizzard)
  396. * PR #829 Reduced vs2010+ file sizes by removing redundant config settings (@Blizzard)
  397. * PR #830 Resource generator access (@Blizzard)
  398. * PR #831 Fix in oven, for options that are not strings. (@Blizzard)
  399. * PR #832 Fix a few compiler warnings (@Blizzard)
  400. * PR #833 Fix empty rules. (@Blizzard)
  401. * PR #834 Allow modules to register C code too. (@Blizzard)
  402. * PR #836 Hook setTextColor in tests, so on linux/mac we don't get random color… (@Blizzard)
  403. * PR #837 Removed "installer" kinds from vs2017. (@premake)
  404. * PR #838 Fix bug in 'action.isConfigurable' not checking for onWorkspace. (@Blizzard)
  405. * PR #839 Expand {...} macros in pre|post build commands for codelite (@Mikhael)
  406. * PR #840 Proof of concept for binary modules. (@tvandijck)
  407. * PR #842 Add bsd to the output of possible platforms (@ejb1123)
  408. * PR #843 fix bug in testing framework leaving tests in random working folders. (@tvandijck)
  409. * PR #844 fix unreferenced argument warning. (@tvandijck)
  410. * PR #849 Write out build log element for VS utility projects (@mendsley)
  411. * PR #851 Fix handling of unconventional NuGet .NET Framework folders (@aleksijuvani)
  412. * PR #854 [core] Add High as a new warning level (@Blizzard)
  413. * PR #855 Add filter for <Image> files (#135) (@Blizzard)
  414. * PR #856 Fix path_getrelative for Windows (@Blizzard)
  415. * PR #857 Fix action override targetos (@Blizzard)
  416. * PR #858 Fix Nuget package handling to support Unix-style paths (@tritao)
  417. * PR #859 Use NuGet package cache instead of the API if possible (@aleksijuvani)
  418. * PR #860 fix for build failure on macOS in debug. (@Blizzard)
  419. * PR #861 Allow embedding of binary resources. (@Blizzard)
  420. * PR #862 small optimization in oven. (@Blizzard)
  421. * PR #863 fix for duplicate 'allowed'. (@Blizzard)
  422. * PR #864 move tags into globally accessible table, so we don't have to overload… (@Blizzard)
  423. * PR #865 Remove "test.print" calls. (@Blizzard)
  424. * PR #866 fix os.istarget and os.ishost to use the systemTags table as well. (@Blizzard)
  425. * PR #867 Fix path translate (@Blizzard)
  426. * PR #868 Filters always have to use \ regardless of target platform. (@Blizzard)
  427. * PR #870 Fix prj.system bug in oven. (@Blizzard)
  428. * PR #872 Rework binmodule example to silence unit test console output (@starkos)
  429. * PR #874 Disable failing `os.findheader()` unit test on macOS (@starkos)
  430. Since 5.0-alpha10:
  431. * PR 523 New API symbols() replaces and extends "Symbols" flag
  432. * PR 524 New API symbolspath() specifies location of symbol database
  433. * PR 556 Add initialization hook for actions
  434. * PR 553 Enable "list of paths" for rule properties
  435. * PR 555 Allow multiple extensions for custom rules
  436. * PR 561 Add IA32 to vectorextensions()
  437. * PR 568 New API runpathdirs() adds rpath support
  438. * PR 525 Add support for Visual Studio Debug Fast Link setting
  439. * PR 401 Enable GCC link mode with ":static", ":shared"
  440. * PR 543 Remove architecture specific include paths on macOS
  441. * PR 554 Improve token expansion in rules
  442. * PR 570 Normalize paths to os.execute()
  443. * PR 546 Switch from openssl to mbedtls
  444. * PR 545 compilebuildoutputs() adds generated files to build
  445. * PR 575 New "raw" exporter
  446. * PR 581 Fix path.normalize() handling of ".." sequences
  447. * PR 587 Fix os.copyfile() handling of paths with spaces
  448. * PR 597 Enable edit-and-continue for VS 2015 64-bit builds
  449. * PR 583 Allow duplicate build commands
  450. * PR 605 Fix for objdir() forced path operator "!"
  451. * PR 603 Allow toolset-specific arguments to static linker
  452. * PR 608 Allow Visual Studio StaticLib projects to link dependencies
  453. * PR 610 Add defines and include paths to makefile projects
  454. * PR 611 Prevent force includes from breaking precompiled headers
  455. * PR 613 Fix os.match() detection of dot files
  456. * PR 607 Remove support for deprecated MonoDevelop project formats
  457. * PR 600 Fix VS support for symbolpath()
  458. * PR 521 Make Clang default toolset for macOS
  459. * PR 624 GCC support for C90 and C99
  460. * PR 628 New API linkbuildoutputs() disables automatic linking of *.obj files
  461. * PR 635 Improved parallelization of Makefile builds
  462. * PR 619 Per-file configuration support for C# projects
  463. * PR 649 Fix Visual Studio 2015 solution version identifier
  464. * PR 645 Add initial Visual Studio 2017 support
  465. Since 5.0-alpha9:
  466. * New: `symbols()`, replaces and extends flags {"Symbols"}
  467. * New: `symbolspath()` to specify location of symbol database
  468. * New: `table.shallowcopy()`
  469. * New: `vectorextensions` value "IA32"
  470. * Fix: --start-group/--end-group now only enclose project libraries
  471. Since 5.0-alpha8:
  472. * New: `buildcustomizations()` imports custom .props files for VS
  473. * New: `frameworksdir()` for Xcode and Make OS X projects
  474. * New: `nuget()` to specify NuGet packages for VS projects
  475. * New: `systemversion()` to specify VS target platform
  476. * New: `io.readfile()` and `io.writefile()`
  477. * New: Configurations may now be filtered by toolset
  478. * New: HTTP calls now support authentication
  479. * New: Support for XSD files in VS C# projects
  480. * New: MASM file categorization for VS
  481. * New: Integrated test framework for Premake module developers
  482. * Fix: VS filter ordering is now deterministic
  483. * Fix: VS projects and groups may now have the same name
  484. * Fix: May now use '.' within shell variable tokens
  485. * Fix: path.translate() now defaults to target system separator
  486. * Fix: getextension() now handles multiple dots
  487. * Fix: replaceextension() no longer adds leading dot
  488. * Fix: Improved configuration baking performance
  489. * Fix: Use -O0 for Clang debug optimization level
  490. * Fix: CodeLite now uses portable path separators
  491. * Fix: Improved ability to find precompiled headers in Makefiles
  492. * Fix: Properly escape defines in Makefile projects
  493. * Fix: Correct casing of UTF8 marker on Visual Studio rule files
  494. Since 5.0-alpha7:
  495. * New API: characterset()
  496. * New API: editorintegration()
  497. * New API: largeaddressaware()
  498. * New: Visual Studio projects now default to Unicode
  499. * New: Utility and Makefile project support for GMake exporter
  500. * New: Updated Curl to 7.45.0
  501. * Fix: Absolute path handling and error reporting in tokens
  502. * Fix: Limit use of TargetMachine to static resource library projects
  503. * Fix: Embed minified scripts by default, rather than bytecode
  504. * Fix: os.isfile() now detects Windows symbolic links
  505. * Fix: Correct handling of DOS environment variables in paths
  506. * Fix: Buffer overflow in buffered writes of large strings
  507. * Fix: Improved handling of absolute vs. relative path tokens
  508. * Fix: --cc command line option works again (stream009)
  509. * Fix: Use relative paths for PCH in Makefiles (stream009)
  510. Since 5.0-alpha6:
  511. * New API: additionalusingdirectories()
  512. * New API: largeaddressaware()
  513. * New: Embed bytecode to enable better debugging information
  514. * New: Display elapsed time at completion
  515. * New: Utility project support for Makefiles
  516. * New: Enabled SSL support in HTTP functions
  517. * Fix: Reduce memory usage during baking
  518. * Fix: Improve performance of wildcard processing
  519. * Fix: Preserve environment in recursive token expansion
  520. * Fix: Added missing defines in bootstrap script
  521. * Fix: Remove /usr/lib64 directories from Mac builds
  522. * Fix: Added newline after UTF-8 marker in Visual Studio projects
  523. * Fix: Duplicate escaping on include directories in Makefiles
  524. * Fix: os.isdir() now works with Windows symbolic links
  525. * Fix: Use correct path separators in C# response files
  526. Since 5.0-alpha5:
  527. * New API: ignoredefaultlibraries()
  528. * New: Support LLVM platform toolset in Visual Studio
  529. * New: Add framework folder path support
  530. * Fix: Improved path.normalize() handling of DOS drive letters (StiX)
  531. * Fix: os.match...() now supports more complex patterns
  532. * Fix: Only generate project files if changed
  533. * Fix: Improve handling of user platform names in Visual Studio
  534. * Fix: Duplicate ".lib" extensions in Visual Studio
  535. * Fix: Improve handling of mixed case command line options
  536. * Fix: Remove `/E` option from Windows copy operations
  537. * Fix: Multiple externalproject() calls to same project
  538. * Fix: Improved determinism of generated project elements
  539. * Fix: Set platform toolset for emtpty Visual Studio projects
  540. * Fix: Better ".." handling for path.join()
  541. Since 5.0-alpha4:
  542. * New: Rename solution() to workspace()
  543. * New API: customtoolnamespace() (tbasnoopy)
  544. * New API: debuggertype() (tbasnoopy)
  545. * New API: entrypoint() (Blizzard)
  546. * New API: exceptionhandling() and rtti() (Blizzard)
  547. * New API: http.get() and http.download() (Blizzard)
  548. * New API: inlining() (Blizzard)
  549. * New API: zip.extract() (Blizzard)
  550. * New: `require()` now accepts optional version ranges
  551. * New: Preloaded modules now return a "should load" test function
  552. * New: Added support for IDL files in VC 2010+ (rhuvendiek)
  553. * New: Added `file.directory` to token environment (Gabi Davar)
  554. * New: Solution configurations are now fully baked (Blizzard)
  555. * New: Enabled per-file configuration queries (Blizzard)
  556. * New: Added more table functions (Blizzard)
  557. * New: Added more values for floatingpoint()
  558. * Fix: Enabled link-time optimization for Clang and GCC
  559. * Fix: Module loader now reports script errors correctly (Tim Wharton)
  560. * Fix: Wrap makefile targets in quotes (leeonix)
  561. * Fix: Provide better default target directories (Blizzard)
  562. * Fix: Escape backslashes in tokens (Damien Courtois)
  563. * Fix: No longer generates containers marked as external
  564. * Fix: Re-enable validation of supported action features (Blizzard)
  565. * Fix: Match Visual C PDB output to target path (leeonix)
  566. * Fix: Remove "." and ".." when joining paths (multiple contributors)
  567. * Fix: Remove trailing newlines from os.outputof() (Tim Wharton)
  568. * Fix: Improve token handling (multiple contributors)
  569. Since 5.0-alpha2:
  570. * New: CodeLite support
  571. * New: D language support
  572. * New: MonoDevelop support
  573. * New API: buildlog()
  574. * New API: callingconvention() (Tim Wharton)
  575. * New API: os.writefile_ifnotequal()
  576. * New API: sysincludedirs()
  577. * New API: syslibdirs()
  578. * New: toolset() can now specify a version number
  579. * New: Default values and categories for command line options
  580. * New: Add bootstrapping script for Git repository (Tim Wharton)
  581. * Fix: Modules are now loaded correctly in all situations (Damien Courtois)
  582. * Fix: Make Visual Studio debug commands absolute (amc522)
  583. * Fix: Allow tokens in vpaths()
  584. * Fix: Silence xcopy output from {COPY} command token (StiX)
  585. * Fix: Remove ".." sequences in path.join()
  586. * Fix: Allow CC and CXX overrides from command line (Tim Wharton)
  587. * Fix: Enable solution level filtering on system values
  588. * Fix: Make configuration flag mapping order deterministic
  589. * Fix: Map "Win32" to x86 architecture for Visual Studio
  590. * Fix: Correct formatting for Visual Studio rule paths
  591. * Fix: Make project APIs consistently lowercase
  592. * Fix: Disable SSE/SSE2 flags for Visual Studio 64-bit builds
  593. * Fix: io.open() now creates directory append ("a") mode
  594. Since 5.0-alpha1:
  595. * Many new debugger APIs
  596. * New API: endian()
  597. * New API: fpu()
  598. * New API: gccprefix()
  599. * New API: pic()
  600. * New API: runtime() (Tom van Dijck)
  601. * New API: undefines()
  602. * New API: disablewarnings(), enablewarnings(), fatalwarnings()
  603. * Added Visual Studio 2015 support (Tom van Dijck)
  604. * filter() now accepts field value aliases in the conditions
  605. * Fixed _ACTION and _OPTIONS filter prefixes
  606. * Main application logic can now be extended by modules
  607. * Action arguments (_ARGS) are now keyed by both index and value
  608. * Configuration baking and validation now skipped for execute only actions
  609. * os.findlib() now accepts paths to search as argument
  610. * Visual Studio .user files are now only generated if not empty
  611. * Xcode4 exporter is now available
  612. * Modules may now be loaded on demand where feasible
  613. * os.outputof() now returns command exit code as second value
  614. * Added AVX2 to vectorextensions()
  615. * Checks to prevent self-linking (Mark Chandler)
  616. * Added path.replaceextension() (M Skibbe)
  617. * Made clean functions overridable
  618. * Migrated x32/x64 to x86/x86_64
  619. * Added new debugger selection APIs
  620. * Fixed handling of ../ sequences in path.normalize() (Tom van Dijck)
  621. * Added table.tostring() (Tom van Dijck)
  622. * Added .editorconfig file
  623. * Added string.sha1() (Tom van Dijck)
  624. * Added verbosef() and --verbose flag (Tom van Dijck)