What's New in 5.0
We haven't been doing a great job of keeping this up-to-date, but it does still hit the major highlights.
Name Changes
- The executable is now named premake5
- The default project script is now premake5.lua; premake4.lua remains as a fallback.
Flags and Actions
- --interactive (open an interactive command prompt)
- vs2012, vs2013, vs2015, vs2019 (Visual Studio 2012, 2013, 2015, 2019)
Major Features
- Custom Rules (still experimental)
- Makefile Projects
- Modules
- Per-Configuration File Lists
- Per-File Configurations
- Per-Project Configurations
- Platforms
- Removes
- System Scripts
- Tokens
- HTTP support
New or Modified Globals
New or Modified API calls
- architecture (new)
- buildaction (new values)
- buildcommands (new)
- builddependencies (new)
- buildlog (new)
- buildmessage (new)
- buildoutputs (new)
- characterset (new)
- callingconvention (new)
- cleancommands (new)
- cleanextensions (new)
- clr (new, replaces flags
Managed
andUnsafe
) - configfile (new)
- configmap (new)
- configuration (retired)
- configurations (modified)
- copylocal (new)
- debugcommand (new)
- debugconnectcommands (new)
- debugextendedprotocol (new)
- debugport (new)
- debugremotehost (new)
- debugsearchpaths (new)
- debugstartupcommands (new)
- dependson (new)
- disablewarnings (new)
- dotnetframework (new)
- editandcontinue (new, replaces flag
NoEditAndContinue
) - editorintegration (new)
- enablewarnings (new)
- endian (new)
- entrypoint (new)
- exceptionhandling (new)
- external (new)
- externalanglebrackets (new)
- externalincludedirs (new)
- externalwarnings (new)
- externalproject (new)
- externalrule (new)
- fatalwarnings (new)
- fileextension (new)
- filename (new)
- filter (new)
- flags (new values)
- floatingpoint (new, replaces flags
FloatFast
andFloatStrict
) - forceincludes (new)
- forceusings (new)
- fpu (new)
- gccprefix (new)
- group (new)
- icon (new)
- inlining (new)
- kind (Makefile, None)
- linkbuildoutputs (new)
- links
- language (new values)
- locale (new)
- makesettings (new)
- namespace (new)
- nativewchar (new, replaces flag
NativeWChar
) - newaction (modified)
- nuget (new)
- objdir (modified)
- optimize (new, replaces flags
OptimizeSize
andOptimizeSpeed
) - pic (new)
- platforms (modified)
- postbuildmessage (new)
- prebuildmessage (new)
- prelinkmessage (new)
- project (modified)
- propertydefinition (new)
- rebuildcommands (new)
- rtti (new, replaces flag
NoRTTI
) - rule (new)
- rules (new)
- runtime (new)
- solution (name changed)
- startproject (new)
- strictaliasing (new)
- sysincludedirs (new)
- syslibdirs (new)
- system (new)
- toolset (new)
- toolsversion (new)
- undefines (new)
- vectorextensions (new, replaces flags
EnableSSE
andEnableSSE2
) - warnings (new, replaces flags
ExtraWarnings
andNoWarnings
) - workspace (new)
New or Modified Lua library calls
-
includeexternal (new)
-
require (modified)
-
debug.prompt (new)
-
http.download (new)
-
http.get (new)
-
os.chmod (new)
-
os.islink (new)
-
os.realpath (new)
-
os.uuid (can now generated deterministic name-based UUIDs)
-
path.getabsolute (new "relative to" argument)
-
string.hash (new)
Deprecated Values and Functions
- buildrule
- flags:
- Component
- EnableSSE, EnableSSE2: use vectorextensions instead
- ExtraWarnings, NoWarnings: use warnings instead
- FloatFast, FloatStrict: use floatingpoint instead
- Managed, Unsafe: use clr instead
- NativeWChar: use nativewchar instead
- NoEditAndContinue: use editandcontinue instead
- NoRTTI: use rtti instead.
- OptimizeSize, OptimizeSpeed: use optimize instead