forked from premake/premake-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
344 lines (322 loc) · 17.3 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
--------------------
5.0 (in progress)
--------------------
See https://github.com/premake/premake-core/wiki/What's-New-in-5.0
for the complete list of changes from the Premake 4.x series.
Since 5.0-alpha11:
* PR #617 fix switch/separator in rules_xml (@Blizzard)
* PR #639 Add MSBuild target to Bootstrap.mak (@nta)
* PR #644 Don't treat "dependson" libraries as "links" libraries in Xcode (@macsforme)
* PR #659 Add C11 flag support for GCC (@resetnow)
* PR #668 Fix sporadic failures when using make -j# (@UmbraSoftware)
* PR #672 Fix issue with msc.getlinks and vstudio.getLinks returning different results when 'explicit' is true. (@Blizzard)
* PR #673 Add additional tokens to fileconfig and vs2010+. (@Blizzard)
* PR #675 update semver.lua (@Blizzard)
* PR #678 Escape string literals passed to defines() for Xcode (@macsforme)
* PR #679 Better detect debug build (@TurkeyMan)
* PR #685 Detect native source files. (@TurkeyMan)
* PR #686 Refactor language flags to go through the language API. (@Blizzard)
* PR #687 Windows Registry (@tvandijck)
* PR #690 make buffered_io available for c code too. (@Blizzard)
* PR #707 Fix missing CA certs on Windows (@Jusonex)
* PR #718 Adding support for NotSet characterset in VS2010+ (#79) (@Blizzard)
* PR #721 Fix CodeLite linking issues (@Blizzard)
* PR #728 Add support of UTF-8 for Windows (@DrLynix)
* PR #732 Fix VS2013 and older always rebuilding when debug symbols explicitly … (@jstewart)
* PR #733 Generated project files are now correctly located beside script (@LORgames)
* PR #734 NuGet fixes (@aleksijuvani)
* PR #735 Fixed issue with Clang not actually supporting floatingpoint 'strict' (@LORgames)
* PR #736 Fixed issue where VS2010+ projects didn't support floatingpoint 'Default' (@LORgames)
* PR #737 Add string.escapepattern function (@aleksijuvani)
* PR #738 Update curl to 7.53.1 (@aleksijuvani)
* PR #739 Refactor _OS, os.get() & os.is() (@Blizzard)
* PR #740 Properly deprecate WinMain flag (@LORgames)
* PR #742 Added BSD support (@LORgames)
* PR #743 Clean up the deprecated APIs (@industriousone)
* PR #745 Fixed issue with using startproject API in CodeLite (@LORgames)
* PR #746 Fixed erroneous escape usages in VS2010+ (@LORgames)
* PR #747 Bootstrap makefile now cleans up previous builds before building (@LORgames)
* PR #748 os.translateCommands now supports multiple tokens (@LORgames)
* PR #749 Updated packaging script (@LORgames)
* PR #751 CompileAs element handles C++ now (@LORgames)
* PR #752 Fixed various issues with compiling with VS2012 (@LORgames)
* PR #753 Added proxy URL to http options (@LORgames)
* PR #754 Fixed issue with the OBJDIR value not being escaped (@LORgames)
* PR #755 Add 'supports_language' callback to action (@Blizzard)
* PR #756 Fix a call to deprecated os.get() (@Blizzard)
* PR #757 Increased consistency of p. usage (@LORgames)
* PR #758 Cleaned up inconsistencies in whitespace (@LORgames)
* PR #760 Adding ARM support for Visual Studio. (@Blizzard)
* PR #761 Removed echo off in VS rules prop generator (@LORgames)
* PR #763 [core] Print warnings in purple (@Blizzard)
* PR #764 [core] get file/line information on deprecated API's. (@Blizzard)
* PR #768 [core] Fix Visual Studio ExecutablePath settings. (@Blizzard)
* PR #769 [core] new cmd path decorations with %[] syntax (@Blizzard)
* PR #771 [core] Use 'compileAs' API (@Blizzard)
* PR #772 [core] Don't set default entrypoint, rely on visual studio default. (@Blizzard)
* PR #774 Assure a default toolset is always set. (@Blizzard)
* PR #776 [core] Use 'cdialect' and 'cppdialect' instead of 'language'. (@Blizzard)
* PR #778 Added support at the file level for the NoPCH flag in VS200x projects (@LORgames)
* PR #779 add os.findheader() (@noresources)
* PR #781 Allow filters to be written as tables: (@Blizzard)
* PR #785 Unicode file functions for Windows (@DrLynix)
* PR #786 Fix typo in embed.lua (@DrLynix)
* PR #787 os.comparefiles function (@DrLynix)
* PR #788 Provide a way to 'tag' systems, and filter on those tags. (@Blizzard)
* PR #789 Add 'tags' filter api. (@Blizzard)
* PR #790 [self-test] fix nil dereference crash in test.isequal (@Blizzard)
* PR #798 create object directory before generating precompiled header (@noresources)
* PR #801 Groups in XCode workspace working. (@ricka)
* PR #802 Suppress mkdir warning on Windows if the folder already exists (@aleksijuvani)
* PR #803 Gmake2 module (@Blizzard)
* PR #804 Update to Lua 5.3.4 (@Blizzard)
* PR #805 Add --insecure option for SSL curl requests. (@Blizzard)
* PR #806 Add premake.isSemVer function (@Blizzard)
* PR #807 Added visual studio support for dot net .tt files (@Blizzard)
* PR #808 Added per file rtti generation for Visual Studio (@Blizzard)
* PR #809 Added os touchfile and a workaround for vs2010 reloading (@Blizzard)
* PR #810 Added masm handling of seh exception handling for VS2010 and above (@Blizzard)
* PR #811 Add 'preferredtoolarchitecture' API (@Blizzard)
* PR #812 Add support for cppdialect in VS2015 & VS2017 actions. (@Blizzard)
* PR #813 Add json.encode_pretty wrapper. (@Blizzard)
* PR #814 Add premake.info message function. (@Blizzard)
* PR #815 Errors in red. (@Blizzard)
* PR #816 Fixed C++17 flag to work with current versions of Clang. (@Blizzard)
* PR #817 A few gmake2 fixes due to it moving into a module. (@premake)
* PR #818 Make module of 'gmake' action. (@Blizzard)
* PR #821 Attempt at colors on linux (@Blizzard)
* PR #822 Move VStudio action into a module. (@Blizzard)
* PR #824 Set default toolsets for vs2005 and vs2008. (@Blizzard)
* PR #825 Use workspace everywhere (@Blizzard)
* PR #826 Escape '&' -> '&' (@Mikhael)
* PR #827 Added option to create bundle and frameworks on macOS. (@Blizzard)
* PR #828 Normalize path in 'getfileinfo' for local host. (@Blizzard)
* PR #829 Reduced vs2010+ file sizes by removing redundant config settings (@Blizzard)
* PR #830 Resource generator access (@Blizzard)
* PR #831 Fix in oven, for options that are not strings. (@Blizzard)
* PR #832 Fix a few compiler warnings (@Blizzard)
* PR #833 Fix empty rules. (@Blizzard)
* PR #834 Allow modules to register C code too. (@Blizzard)
* PR #836 Hook setTextColor in tests, so on linux/mac we don't get random color… (@Blizzard)
* PR #837 Removed "installer" kinds from vs2017. (@premake)
* PR #838 Fix bug in 'action.isConfigurable' not checking for onWorkspace. (@Blizzard)
* PR #839 Expand {...} macros in pre|post build commands for codelite (@Mikhael)
* PR #840 Proof of concept for binary modules. (@tvandijck)
* PR #842 Add bsd to the output of possible platforms (@ejb1123)
* PR #843 fix bug in testing framework leaving tests in random working folders. (@tvandijck)
* PR #844 fix unreferenced argument warning. (@tvandijck)
* PR #849 Write out build log element for VS utility projects (@mendsley)
* PR #851 Fix handling of unconventional NuGet .NET Framework folders (@aleksijuvani)
* PR #854 [core] Add High as a new warning level (@Blizzard)
* PR #855 Add filter for <Image> files (#135) (@Blizzard)
* PR #856 Fix path_getrelative for Windows (@Blizzard)
* PR #857 Fix action override targetos (@Blizzard)
* PR #858 Fix Nuget package handling to support Unix-style paths (@tritao)
* PR #859 Use NuGet package cache instead of the API if possible (@aleksijuvani)
* PR #860 fix for build failure on macOS in debug. (@Blizzard)
* PR #861 Allow embedding of binary resources. (@Blizzard)
* PR #862 small optimization in oven. (@Blizzard)
* PR #863 fix for duplicate 'allowed'. (@Blizzard)
* PR #864 move tags into globally accessible table, so we don't have to overload… (@Blizzard)
* PR #865 Remove "test.print" calls. (@Blizzard)
* PR #866 fix os.istarget and os.ishost to use the systemTags table as well. (@Blizzard)
* PR #867 Fix path translate (@Blizzard)
* PR #868 Filters always have to use \ regardless of target platform. (@Blizzard)
* PR #870 Fix prj.system bug in oven. (@Blizzard)
* PR #872 Rework binmodule example to silence unit test console output (@starkos)
* PR #874 Disable failing `os.findheader()` unit test on macOS (@starkos)
Since 5.0-alpha10:
* PR 523 New API symbols() replaces and extends "Symbols" flag
* PR 524 New API symbolspath() specifies location of symbol database
* PR 556 Add initialization hook for actions
* PR 553 Enable "list of paths" for rule properties
* PR 555 Allow multiple extensions for custom rules
* PR 561 Add IA32 to vectorextensions()
* PR 568 New API runpathdirs() adds rpath support
* PR 525 Add support for Visual Studio Debug Fast Link setting
* PR 401 Enable GCC link mode with ":static", ":shared"
* PR 543 Remove architecture specific include paths on macOS
* PR 554 Improve token expansion in rules
* PR 570 Normalize paths to os.execute()
* PR 546 Switch from openssl to mbedtls
* PR 545 compilebuildoutputs() adds generated files to build
* PR 575 New "raw" exporter
* PR 581 Fix path.normalize() handling of ".." sequences
* PR 587 Fix os.copyfile() handling of paths with spaces
* PR 597 Enable edit-and-continue for VS 2015 64-bit builds
* PR 583 Allow duplicate build commands
* PR 605 Fix for objdir() forced path operator "!"
* PR 603 Allow toolset-specific arguments to static linker
* PR 608 Allow Visual Studio StaticLib projects to link dependencies
* PR 610 Add defines and include paths to makefile projects
* PR 611 Prevent force includes from breaking precompiled headers
* PR 613 Fix os.match() detection of dot files
* PR 607 Remove support for deprecated MonoDevelop project formats
* PR 600 Fix VS support for symbolpath()
* PR 521 Make Clang default toolset for macOS
* PR 624 GCC support for C90 and C99
* PR 628 New API linkbuildoutputs() disables automatic linking of *.obj files
* PR 635 Improved parallelization of Makefile builds
* PR 619 Per-file configuration support for C# projects
* PR 649 Fix Visual Studio 2015 solution version identifier
* PR 645 Add initial Visual Studio 2017 support
Since 5.0-alpha9:
* New: `symbols()`, replaces and extends flags {"Symbols"}
* New: `symbolspath()` to specify location of symbol database
* New: `table.shallowcopy()`
* New: `vectorextensions` value "IA32"
* Fix: --start-group/--end-group now only enclose project libraries
Since 5.0-alpha8:
* New: `buildcustomizations()` imports custom .props files for VS
* New: `frameworksdir()` for Xcode and Make OS X projects
* New: `nuget()` to specify NuGet packages for VS projects
* New: `systemversion()` to specify VS target platform
* New: `io.readfile()` and `io.writefile()`
* New: Configurations may now be filtered by toolset
* New: HTTP calls now support authentication
* New: Support for XSD files in VS C# projects
* New: MASM file categorization for VS
* New: Integrated test framework for Premake module developers
* Fix: VS filter ordering is now deterministic
* Fix: VS projects and groups may now have the same name
* Fix: May now use '.' within shell variable tokens
* Fix: path.translate() now defaults to target system separator
* Fix: getextension() now handles multiple dots
* Fix: replaceextension() no longer adds leading dot
* Fix: Improved configuration baking performance
* Fix: Use -O0 for Clang debug optimization level
* Fix: CodeLite now uses portable path separators
* Fix: Improved ability to find precompiled headers in Makefiles
* Fix: Properly escape defines in Makefile projects
* Fix: Correct casing of UTF8 marker on Visual Studio rule files
Since 5.0-alpha7:
* New API: characterset()
* New API: editorintegration()
* New API: largeaddressaware()
* New: Visual Studio projects now default to Unicode
* New: Utility and Makefile project support for GMake exporter
* New: Updated Curl to 7.45.0
* Fix: Absolute path handling and error reporting in tokens
* Fix: Limit use of TargetMachine to static resource library projects
* Fix: Embed minified scripts by default, rather than bytecode
* Fix: os.isfile() now detects Windows symbolic links
* Fix: Correct handling of DOS environment variables in paths
* Fix: Buffer overflow in buffered writes of large strings
* Fix: Improved handling of absolute vs. relative path tokens
* Fix: --cc command line option works again (stream009)
* Fix: Use relative paths for PCH in Makefiles (stream009)
Since 5.0-alpha6:
* New API: additionalusingdirectories()
* New API: largeaddressaware()
* New: Embed bytecode to enable better debugging information
* New: Display elapsed time at completion
* New: Utility project support for Makefiles
* New: Enabled SSL support in HTTP functions
* Fix: Reduce memory usage during baking
* Fix: Improve performance of wildcard processing
* Fix: Preserve environment in recursive token expansion
* Fix: Added missing defines in bootstrap script
* Fix: Remove /usr/lib64 directories from Mac builds
* Fix: Added newline after UTF-8 marker in Visual Studio projects
* Fix: Duplicate escaping on include directories in Makefiles
* Fix: os.isdir() now works with Windows symbolic links
* Fix: Use correct path separators in C# response files
Since 5.0-alpha5:
* New API: ignoredefaultlibraries()
* New: Support LLVM platform toolset in Visual Studio
* New: Add framework folder path support
* Fix: Improved path.normalize() handling of DOS drive letters (StiX)
* Fix: os.match...() now supports more complex patterns
* Fix: Only generate project files if changed
* Fix: Improve handling of user platform names in Visual Studio
* Fix: Duplicate ".lib" extensions in Visual Studio
* Fix: Improve handling of mixed case command line options
* Fix: Remove `/E` option from Windows copy operations
* Fix: Multiple externalproject() calls to same project
* Fix: Improved determinism of generated project elements
* Fix: Set platform toolset for emtpty Visual Studio projects
* Fix: Better ".." handling for path.join()
Since 5.0-alpha4:
* New: Rename solution() to workspace()
* New API: customtoolnamespace() (tbasnoopy)
* New API: debuggertype() (tbasnoopy)
* New API: entrypoint() (Blizzard)
* New API: exceptionhandling() and rtti() (Blizzard)
* New API: http.get() and http.download() (Blizzard)
* New API: inlining() (Blizzard)
* New API: zip.extract() (Blizzard)
* New: `require()` now accepts optional version ranges
* New: Preloaded modules now return a "should load" test function
* New: Added support for IDL files in VC 2010+ (rhuvendiek)
* New: Added `file.directory` to token environment (Gabi Davar)
* New: Solution configurations are now fully baked (Blizzard)
* New: Enabled per-file configuration queries (Blizzard)
* New: Added more table functions (Blizzard)
* New: Added more values for floatingpoint()
* Fix: Enabled link-time optimization for Clang and GCC
* Fix: Module loader now reports script errors correctly (Tim Wharton)
* Fix: Wrap makefile targets in quotes (leeonix)
* Fix: Provide better default target directories (Blizzard)
* Fix: Escape backslashes in tokens (Damien Courtois)
* Fix: No longer generates containers marked as external
* Fix: Re-enable validation of supported action features (Blizzard)
* Fix: Match Visual C PDB output to target path (leeonix)
* Fix: Remove "." and ".." when joining paths (multiple contributors)
* Fix: Remove trailing newlines from os.outputof() (Tim Wharton)
* Fix: Improve token handling (multiple contributors)
Since 5.0-alpha2:
* New: CodeLite support
* New: D language support
* New: MonoDevelop support
* New API: buildlog()
* New API: callingconvention() (Tim Wharton)
* New API: os.writefile_ifnotequal()
* New API: sysincludedirs()
* New API: syslibdirs()
* New: toolset() can now specify a version number
* New: Default values and categories for command line options
* New: Add bootstrapping script for Git repository (Tim Wharton)
* Fix: Modules are now loaded correctly in all situations (Damien Courtois)
* Fix: Make Visual Studio debug commands absolute (amc522)
* Fix: Allow tokens in vpaths()
* Fix: Silence xcopy output from {COPY} command token (StiX)
* Fix: Remove ".." sequences in path.join()
* Fix: Allow CC and CXX overrides from command line (Tim Wharton)
* Fix: Enable solution level filtering on system values
* Fix: Make configuration flag mapping order deterministic
* Fix: Map "Win32" to x86 architecture for Visual Studio
* Fix: Correct formatting for Visual Studio rule paths
* Fix: Make project APIs consistently lowercase
* Fix: Disable SSE/SSE2 flags for Visual Studio 64-bit builds
* Fix: io.open() now creates directory append ("a") mode
Since 5.0-alpha1:
* Many new debugger APIs
* New API: endian()
* New API: fpu()
* New API: gccprefix()
* New API: pic()
* New API: runtime() (Tom van Dijck)
* New API: undefines()
* New API: disablewarnings(), enablewarnings(), fatalwarnings()
* Added Visual Studio 2015 support (Tom van Dijck)
* filter() now accepts field value aliases in the conditions
* Fixed _ACTION and _OPTIONS filter prefixes
* Main application logic can now be extended by modules
* Action arguments (_ARGS) are now keyed by both index and value
* Configuration baking and validation now skipped for execute only actions
* os.findlib() now accepts paths to search as argument
* Visual Studio .user files are now only generated if not empty
* Xcode4 exporter is now available
* Modules may now be loaded on demand where feasible
* os.outputof() now returns command exit code as second value
* Added AVX2 to vectorextensions()
* Checks to prevent self-linking (Mark Chandler)
* Added path.replaceextension() (M Skibbe)
* Made clean functions overridable
* Migrated x32/x64 to x86/x86_64
* Added new debugger selection APIs
* Fixed handling of ../ sequences in path.normalize() (Tom van Dijck)
* Added table.tostring() (Tom van Dijck)
* Added .editorconfig file
* Added string.sha1() (Tom van Dijck)
* Added verbosef() and --verbose flag (Tom van Dijck)