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)
|