Commit Graph

1536 Commits

Author SHA1 Message Date
Jason Perkins
f6d226c808 Add DELETE, ECHO, MKDIR, MOVE, RMDIR, and TOUCH command line tokens 2014-12-01 17:27:57 -05:00
Jason Perkins
59568aeeb1 Add /I to xcopy token replacement to avoid "file or directory?" prompts 2014-12-01 16:49:52 -05:00
Jason Perkins
fbdceb7f0a Fix translateCommands() call in os.execute 2014-11-30 10:43:26 -05:00
Jason Perkins
6e12c6485f Move command token expansion into actions, to allow more control at point of export 2014-11-29 14:51:49 -05:00
Jason Perkins
56b8b65334 Improve Windows copy token replacement 2014-11-29 13:53:31 -05:00
Jason Perkins
a04f7e72ae Enable token expansion for os.execute() 2014-11-27 13:14:46 -05:00
Jason Perkins
d645ba7c8f Flag fields containing command lines and expand tokens during baking 2014-11-27 13:12:36 -05:00
Jason Perkins
5d327279cc Add os.translateCommand() to expand tokens 2014-11-27 12:56:48 -05:00
Jason Perkins
c08c1aaabf Merge config validation improvements
- virtual paths are now allowed to bubble up to the project configuration, like config maps
- the validation system is rebuilt on the new container API
2014-11-24 16:03:53 -05:00
Jason Perkins
75814c3e3b Reuse container class test function with API 2014-11-24 15:26:57 -05:00
Jason Perkins
dfc24eccfa Rework validateScopes() to handle arbitrary container hierarchies 2014-11-21 18:26:46 -05:00
Jason Perkins
011b0d9fd8 Port validation logic to walk the new container hierarchy 2014-11-21 17:04:43 -05:00
Jason Perkins
a956ea740e Allow vpaths to bubble up to project from configurations
This allows expressing "use these vpaths if this configuration is present in the project", and placing the vpaths in the same configuration block as the file lists.
2014-11-21 15:24:42 -05:00
Jason Perkins
8eef265558 Fix issue #21: ARCH variable conflicts with building on Gentoo
Remove the $(ARCH) variable from generated makefiles. If needed, we can come up with a different name that doesn't conflict with existing system variables.
2014-11-19 12:29:19 -05:00
Jason Perkins
d882782490 Enable additional filter prefixes
Use criteria.allowPrefix("newPrefix") to allowing filtering configurations: filter { "newPrefix:someValue" }.

Pass extra filter values to oven.bakeConfig() to retrieve a configuration with the new filter applied: oven.bakeConfig(prj, buildcfg, platform, { newPrefix="targetValue" })
2014-11-17 17:53:08 -05:00
Jason Perkins
1b6118077f Added wildcard-in-table matching from previous commit to filter() 2014-11-13 14:40:38 -05:00
Jason Perkins
67f37e2850 Merged in tbasnoopy/premake-dev/configuration resetting using table (pull request #137)
Allow resetting configuration using a table
2014-11-13 14:38:47 -05:00
M Skibbe
8e0d32df41 allow resetting configuration with 'configuration { "*" }' 2014-11-13 10:38:06 +01:00
M Skibbe
97af7fb9b2 Merged premake/premake-dev into default 2014-11-13 10:19:36 +01:00
Jason Perkins
c4ab787b51 Merge new clr() function, replacement for Managed and Unsafe flags 2014-11-12 16:06:51 -05:00
Jason Perkins
0284817398 Implement CLR "Pure" and "Safe" values for VC 201x and MSC 2014-11-11 19:44:44 -05:00
Jason Perkins
baa6989d0f Replace "Off" string literal with p.OFF variable, just in case 2014-11-11 19:29:28 -05:00
Jason Perkins
ca68cc052b Convert all usages of Unsafe flag to new clr() function 2014-11-11 19:24:07 -05:00
Jason Perkins
38c5620f33 Convert all usages of Managed flag to new clr() function 2014-11-11 19:20:29 -05:00
Jason Perkins
77d75071fd Add new API clr() to replace existing Managed and Unsafe flags
A new API is needed to add support for "pure" and "safe" managed C++ code. The existing flags will be marked as deprecated in the documentation, but otherwise left intact.
2014-11-11 19:20:09 -05:00
Jason Perkins
facc0cb1a7 Closed branch feature/edit-continue-switch 2014-11-11 15:36:56 -05:00
Jason Perkins
cfccb8fa61 Correctly report syntax errors in loaded scripts
Syntax errors were getting reported as "file not found" errors instead. Correctly pass through the right error code and message.
2014-11-11 15:33:36 -05:00
Jason Perkins
b3aebffaf2 Add new editAndContinue() API to replace NoEditAndContinue flag
Make it easier and more intuitive to support platforms/toolsets where edit-and-continue is available but turned off by default. Can now turn off with editAndContinue("off") instead of flags("NoEditAndContinue"), and turn it on with editAndContinue("on") instead of removeflags("NoEditAndContinue").

The NoEditAndContinue flag is still in place, and continues to behave as it did before, but will be marked deprecated in the documentation.
2014-11-10 18:01:39 -05:00
Jason Perkins
3b960f01be Turn off deprecation warnings for fields and values that can be easily translated.
To ease the transition to 5.0, allow these values to continue to work while marking them deprecated in the documentation. Will put the messages back some time after release when folks have had a chance to switch.
2014-11-10 17:41:31 -05:00
Jason Perkins
24050ebc2c Fix segfault when dofile() called within _premake_main() 2014-11-10 17:07:37 -05:00
Jason Perkins
e2f36deda8 Fix incorrect whitespace 2014-11-07 11:50:10 -05:00
Jason Perkins
30347622bf Add new flags ShadowedVariables and UndefinedIdentifiers with GCC support 2014-11-05 16:27:48 -05:00
Jason Perkins
ba74e661fa Move cfg.linkoptions out of toolset getldflags() to match behavior of getcflags() and getcxxflags() 2014-11-05 16:25:58 -05:00
Jason Perkins
60fc6d2897 New API strictaliasing() with GCC support 2014-11-04 18:25:32 -05:00
Jason Perkins
5899a7f34b Reformulate conditional from previous commit to prevent weird errors in third-party test projects 2014-10-29 18:28:59 -04:00
Jason Perkins
71bb1f8079 Add new call includeExternal()
Works like include(), but any containers created by the included scripts (projects, solutions, rules) will be marked as external.
2014-10-29 17:43:32 -04:00
Jason Perkins
920ddcb1f1 Support both upper- and lowercase first letter for rule variable setters
For a rule named "MyRule", can now use myRuleVars() or MyRuleVars()
2014-10-29 17:19:31 -04:00
Jason Perkins
0a4c3e6853 Merge new custom rule file support 2014-10-29 17:04:07 -04:00
Jason Perkins
bf00eaae80 Allow for some path information in values to filename()
Not complete, should split out the path and add to location(), but at least absorbs leading "../" sequences
2014-10-29 16:52:07 -04:00
M Skibbe
11d0311235 Merged premake/premake-dev into default 2014-10-27 11:08:45 +01:00
Jason Perkins
a972ab8009 Merge with latest development 2014-10-24 15:38:12 -04:00
Jason Perkins
7efe07a51f Restore missing 'file not found' error message in dofile() 2014-10-24 15:37:38 -04:00
Jason Perkins
c46f2c09e2 Fixes for Visual Studio rule generation
- Fix setting of boolean values to false
- Don't consider rules that haven't been explicitly included in a project
2014-10-24 15:35:30 -04:00
Jason Perkins
3de32788d2 Sort properties in generated projects, to prevent reordering by Visual Studio 2014-10-23 10:31:43 -04:00
Jason Perkins
b6c54eb2f5 Enum rule properties should use enum key rather than value 2014-10-23 10:18:05 -04:00
M Skibbe
ba07ab5a28 Merged premake/premake-dev into default 2014-10-23 12:17:17 +02:00
Jason Perkins
dad48fd632 Fix "attempt to index nil value" in --help 2014-10-22 15:02:02 -04:00
Jason Perkins
3104421fc3 Fix --scripts path in test helper scripts 2014-10-22 14:48:22 -04:00
Jason Perkins
81c9493e0e Fix detoken of table values, broken by previous commit 2014-10-21 18:28:14 -04:00
Jason Perkins
678d5729ae A couple of small fixes for rule generation
- Properly convert properties like "XYZ" to xyzVars() for the setter function
- Early out of detokenizer for non-string values
2014-10-21 16:23:30 -04:00