220 lines
9.6 KiB
Plaintext
220 lines
9.6 KiB
Plaintext
--------------------
|
|
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-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 512 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)
|