Commit Graph

1524 Commits

Author SHA1 Message Date
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
Jason Perkins
2ee4d7aca7 Replace customVar() and customList() with per-rule property setters.
Example:
rule "MyCustomRule"
   -- (definition of rule)

project "MyProject"
   myCustomRuleVars {
      MyStringProperty = "Value",
      MyListProperty = { "Value", "Value" }
   }
2014-10-20 18:45:05 -04:00
Jason Perkins
4af8eb44af Clean up rule container creation and usage
- Adds externalRule() to match rule()
- Adds externalProject() as replacement for external() for consistency with rules
- Adds rules() to associate rules (external or generated) with a project
- Drops customRules(); use rules() on the project level instead
2014-10-20 15:41:00 -04:00
M Skibbe
9724981698 Merged premake/premake-dev into default 2014-10-20 09:41:43 +02:00
Jason Perkins
d73e9af2ed Add external…() version to all container creation calls 2014-10-18 16:33:13 -04:00
Jason Perkins
9303920414 Add boolean field kind 2014-10-18 16:06:04 -04:00
Jason Perkins
81430daabb Rename rules.lua to rule.lua to match solution.lua and project.lua 2014-10-17 14:52:48 -04:00
Jason Perkins
a72d4824ec Merge latest development branch 2014-10-17 14:37:42 -04:00
Jason Perkins
0efa24492d Merge --script argument changes for modules 2014-10-16 19:13:50 -04:00
Jason Perkins
aaa3052db4 Convert --scripts argument to absolute path on startup 2014-10-16 19:09:14 -04:00
Jason Perkins
df6ff7c86c Update BUILD.txt to reflect new behavior of --scripts option 2014-10-16 17:50:55 -04:00
Jason Perkins
a0ab11bda6 Rework --scripts handling to allow module loading
The --scripts argument should not point to the top-level Premake folder rather than its src/ folder; this allows the modules/ folder to also be referenced along that same path.
2014-10-16 17:32:09 -04:00
Jason Perkins
636f886795 Merge Merge container API improvements 2014-10-16 16:51:34 -04:00