Commit Graph

168 Commits

Author SHA1 Message Date
Jason Perkins
f9270e21cc Allow filters to specify field value aliases in the conditions 2015-02-25 17:38:16 -05:00
Renaud Guillard
203218e506 merge default 2015-02-03 21:20:16 +01:00
Jason Perkins
74c5bfd7bd Handle absolute path tokens placed in path fields, which are themselves absolute 2015-01-21 17:22:19 -05:00
Jason Perkins
3f718a470c Add ability to map Premake tokens to toolset specific variables 2015-01-15 12:00:57 -05:00
Jason Perkins
b68537cd00 Remove dead code from option unit tests 2014-12-22 11:49:47 -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
5d327279cc Add os.translateCommand() to expand tokens 2014-11-27 12:56:48 -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
ca68cc052b Convert all usages of Unsafe flag to new clr() function 2014-11-11 19:24:07 -05: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
Jason Perkins
86685d7514 Merge latest development branch 2014-10-04 19:21:38 -04:00
Jason Perkins
90ae7aaa70 Rework embedded scripts to be loaded on-demand and by name
This will be required in order to migrate modules into the executable for binary releases
2014-09-26 09:25:14 -04:00
Alexey Orlov
fd590f9df9 make os.match to get exclude patterns for dirs and files, os.rmdir now gets all dirs and filter out . and .. manually 2014-09-23 18:41:45 +03:00
Jason Perkins
039d83cc28 Merge latest development branch 2014-09-18 17:29:01 -04:00
Jason Perkins
b347b204d8 Modify testing scripts to use new test action setup 2014-09-18 16:19:08 -04:00
Jason Perkins
52515963b4 Make test framework module aware
- Move test action into main project script
- Look for and load test suites from manifest files
- Make individual tests play nicer with third-party modifications
2014-09-17 19:19:47 -04:00
Jason Perkins
5d9901913c Merge with development branch 2014-09-11 10:56:44 -04:00
Jason Perkins
1f67707a9b Store config maps in a list, so project script ordering will be maintained 2014-08-28 09:19:14 -04:00
Jason Perkins
98aba2438f Rework filter() and configuration() to support new container hierarchies; can now use on rules 2014-08-27 16:38:58 -04:00
Jason Perkins
9230abc637 Rename project.getfilename() to premake.filename(); now used by rules too 2014-08-11 17:28:51 -04:00
Jason Perkins
0df2020f6b Pass _PREMAKE_COMMAND unit test when executable uses a non-standard name or location 2014-06-26 10:43:48 -04:00
Jason Perkins
cb0aba47f3 Stop returning dotted directory names in os.matchdirs() 2014-04-29 15:45:15 -04:00
Jason Perkins
f4e55da621 Added new filter() to replace configuration(), with required field prefixes
- use like: filter { "configurations:Debug" }
- supported prefixes: action, architecture, configurations, files, kind, language, options, platforms, system
- defaults to "configurations" if no prefix is specified
2014-04-25 11:53:01 -04:00
Jason Perkins
a672ec416a Fix issue #20 - can now find files with a dot prefix; directories are still ignored 2014-04-24 10:49:06 -04:00
Jason Perkins
7dd9f4b041 Fix handling of "files:not Pattern*" for non-file contexts 2014-04-08 15:50:00 -04:00
Jason Perkins
28cfa55886 First pass at support for configuration filter prefixes (e.g. "files:Debug**") 2014-04-07 15:04:19 -04:00
Jason Perkins
5ef13aa5b6 Merge project objects with their underlying configuration sets 2014-03-13 17:08:04 -04:00
Jason Perkins
6355a3215d Make virtual path processing order deterministic 2014-03-09 13:17:10 -04:00
Jason Perkins
b228800ba9 Move config set value removes to new field framework (mostly) 2014-03-09 08:27:21 -04:00
Jason Perkins
aacafa8fe7 Move config set value stores to new field framework 2014-03-08 16:03:34 -05:00
Jason Perkins
9378d31295 Move config set value fetches to new field framework 2014-03-08 14:17:35 -05:00
Jason Perkins
974b622b82 Require configuration set fetch/store to use registered fields only; phase out direct table access 2014-03-08 09:28:37 -05:00
Jason Perkins
51ab0947e8 Make _OPTIONS table key lookups case insensitive 2014-02-25 13:17:04 -05:00
Jason Perkins
1cbc2bef9d Clean up pass over output APIs used by exporters
- Reworked _p() and _x() over new indentation-aware output APIs
- Added proper APIs for setting indentation, EOL sequence, and value escaping
- Moved functions intended for exporters to premake.lua (with generation and validation calls)
2014-02-08 10:44:57 -05:00
Renaud Guillard
2057519a42 ... 2014-01-25 20:37:31 +01:00
Renaud Guillard
31447cb370 typo: copy/paste is evil 2014-01-25 20:31:54 +01:00
Renaud Guillard
c8a18c4b4e add more comments on changes to the lua library
add basic test for the new os.outputof behavior
2014-01-25 20:23:13 +01:00
Jason Perkins
b3216cbcf8 Return absolute path if getrelative() hits the top of a DOS file system (issue #213) 2013-12-20 15:08:05 -05:00
Jason Perkins
9831545e2d Fix path.getrelative() when trailing slashes are present 2013-10-22 16:32:51 -04:00
Jason Perkins
1e24b4790b Improve path.getabsolute
- Allow optional second "relative to" argument to use as base for conversion
- Fix handling of paths like: $ORIGIN/../lib
2013-10-12 16:18:54 -04:00
Jason Perkins
686f3f071a Add optimize(); deprecate Optimize, OptimizeSize, and OptimizeSpeed flags 2013-09-29 11:23:39 -04:00
Jason Perkins
18c6d90734 Allow virtual paths to specify empty source tree root folders 2013-09-12 10:40:52 -04:00
Jason Perkins
985c58103c Make the version change from 4.x to 5.x official
- Rename executable to premake5
- Default to premake5.lua project script; fallback to premake4.lua if not found
- Clean up internal references to premake4 naming
2013-09-10 16:24:39 -04:00
Jason Perkins
347f10a379 Make table.isempty work with table which has a key as false (Baiyan Huang) 2013-07-29 11:41:05 -04:00
Jason Perkins
01531cde9e Snapshot recent project format changesMore reconciliation with Visual Studio project formats:
- fix dummy configurations for makefile projects
- remove manifest and app verifier tools from static library configurations
- improve sorting of source tree (still needs work)
2013-05-21 11:55:00 -04:00
Jason Perkins
b59850dd1b Path tokens in non-path fields (like custom build commands) are not expanded to project-relative paths 2013-04-17 11:54:07 -04:00
Jason Perkins
64d6d71fcd Add new Makefile configuration kind to API and project validation 2013-04-02 10:59:54 -04:00
Jason Perkins
4c93d368eb Modified io.capture() etc. to allow for nested captures, to be used by new file configuration handling code 2013-03-12 18:18:47 -04:00
Jason Perkins
8d8a3e3574 Fix: path.getrelative() gives incorrect results for paths containing "//" 2013-03-06 10:06:45 -05:00
Jason Perkins
09100182c3 Port validation checking; add warning for out of scope values 2013-02-01 14:54:14 -05:00
Jason Perkins
8e7da0f3be Moved UUID collision warning to stderr to improve visibility 2013-01-17 14:37:49 -05:00
Jason Perkins
f60074d380 Omit Keyword and RootNamespace from non-Windows Visual Studio projects 2013-01-12 11:52:59 -05:00
Jason Perkins
c94073fc7e Port path.getabsolute() from Lua to C 2013-01-04 10:18:47 -05:00
Jason Perkins
b25c12f2b6 Ported old stress test; moved path.join() to C 2013-01-03 11:11:31 -05:00
Jason Perkins
41198fac9a UUIDs in Visual Studio project files now use a deterministic, name-based generator 2012-12-29 13:26:41 -05:00
Jason Perkins
4ead57c055 Make VC2010 C++ .user file more extensible; add premake.override() convenience function. 2012-12-04 11:45:26 -05:00
Jason Perkins
2cf609c6ac Ported key-value handling to new configuration system 2012-11-14 12:42:53 -05:00
Jason Perkins
2800ebd010 Ported list handling to new configuration objects 2012-11-04 18:48:20 -05:00
Jason Perkins
3f79a363b2 First pass at removing dead and deprecated code 2012-11-04 11:54:04 -05:00
Jason Perkins
77212557dc Merge new configuration system into the public APIs 2012-11-04 09:21:58 -05:00
Jason Perkins
3d6e03e966 Config sets can now be hierarchical; pull target information from sets instead of old configs 2012-11-01 16:34:06 -04:00
Jason Perkins
6c19509737 Port "not" and "or" modifiers to new criteria objects 2012-10-31 19:34:53 -04:00
Jason Perkins
fb5aaf860c Initial connection of config sets to the public configuration API 2012-10-31 15:46:28 -04:00
Jason Perkins
0e8915ec1d Fix bug in new criteria matcher 2012-10-23 18:15:07 -04:00
Jason Perkins
91ba9c899f Initial work on an expanded configuration API; added configset, criteria, and context objects, initial usage for target naming parameters 2012-10-19 18:53:03 -04:00
Jason Perkins
e65962166e Patch 3485071: Fixed _PREMAKE_COMMAND fallback when premake4 is not in PATH (Konstantin Tokarev) 2012-09-27 17:07:32 -04:00
Jason Perkins
8f60b15942 Ported string fields to new register()-based API definitions 2012-04-16 19:31:08 -04:00
Jason Perkins
22266a995d Start of API system overhaul, in support of configuration mapping 2012-04-04 16:21:22 -04:00
Jason Perkins
a1a0afd327 Prevent single-child ".." folders from appearing at the top of the source tree; merge project.eachfile() into project.getsourcetree() 2012-03-27 19:52:48 -04:00
Jason Perkins
07f000ecda Folders containing a single sub-folder are now trimmed from top of the source tree 2012-03-27 18:33:15 -04:00
Jason Perkins
a2aa2f83e1 path.isabsolute() now recognizes quoted shell variables 2012-03-19 18:57:45 -04:00
Jason Perkins
9d8958a923 Standardized handling of file paths in API setters and removers 2012-02-13 18:50:38 -05:00
Jason Perkins
0747211b6c Added replace…() APIs (exact match only, no patterns yet) 2012-01-28 17:48:29 -05:00
Jason Perkins
a01df4bc83 Ported Visual Studio 2010 to new platforms, up to the compiler settings block 2012-01-26 20:40:39 -05:00
Jason Perkins
0d46fe4135 Merge with premake-dev 2012-01-25 16:10:59 -05:00
Jason Perkins
1e97713a26 Default path.translate() to Windows-style backslashes 2012-01-25 15:58:21 -05:00
Jason Perkins
283ecaeb45 Ported Visual Studio 2008 files element and supporting functions 2012-01-19 19:14:18 -05:00
Jason Perkins
e4d23a49bf Patch 3111264: Allow path.join() to accept any number of args 2012-01-19 15:28:24 -05:00
Jason Perkins
5533461428 Implemented new SolutionConfigurationPlatforms handler for VS2008, supporting improved configurations 2012-01-03 17:08:22 -05:00
Jason Perkins
c8e3c0df6a Improve include() function: only include files once, and allow including specific files instead of just directories 2011-12-04 14:47:59 -05:00
Jason Perkins
f8877df6ea Flipped vpaths syntax, now ['group']={'pattern(s)'...} 2011-07-19 18:07:30 -04:00
Jason Perkins
1631cff164 Removed a bunch of deprecated VC2010 code 2011-07-12 16:55:27 -04:00
Jason Perkins
cf3bdb076e Added support for key-value fields to the API 2011-06-02 15:26:15 -04:00
Jason Perkins
eccd1720ba More cleanup; preparing the virtual path stuff 2011-05-18 17:32:04 -04:00
Liam Devine
7a89211a38 English alais' for the Optimize group of flags 2011-05-18 20:31:08 +01:00
Jason Perkins
dba4adab62 Split configuration baking into its own file; prep for file config work 2011-05-16 15:37:48 -04:00
Jason Perkins
214990943d Bug 3277357: Projects no longer inherit location from solution 2011-04-27 18:43:15 -04:00
Jason Perkins
ccb5d34c95 Merged with premake-stable 2011-03-23 17:05:19 -04:00
Jason Perkins
7b0636f999 [#3232160] Environment variables are cut off 2011-03-23 16:38:40 -04:00
liamDevine
db972589b1 added specialisation for terms in mergeobject
kind seems special. it gets set in the cfg and is needed by the terms yet not added automatically
added a check when iterating blocks in merge to see if kind needs adding to terms
changed getactiveterms so it doesn't use number keys
at end of merge, added a merging of terms into cfg.terms
terms were being shared between all configurations in collapse. NOTE : it may still need looking at for when the platform is not native.
changed to use a local copy, this gets updated instead.
2011-03-17 04:17:36 +00:00
Jason Perkins
a69bcbfb58 Added support for Haiku OS (Yuriy O'Donnell) 2011-02-10 12:24:51 -05:00
Jason Perkins
43218e0e96 Moved io.capture to test framework; removed from test suites 2011-02-03 16:38:32 -05:00
Jason Perkins
c9d4e88278 Add test to ensure path.join() can be called with a nil argument 2011-01-18 12:25:43 -05:00
liamDevine
c2a22602c0 refactors optimise check to function premake.config.isoptimizedbuild(flags) which is not local scope as it can be used in other places
adds function premake.config.should_link_incrementally(cfg)
adds new flag NoIncrementalLink
2010-11-01 22:05:45 +00:00
Jason Perkins
6da5323224 Bug 3016050: {"../Dir/file1.c","../../Dir/file2.c"} breaks Xcode (Stephane) 2010-10-20 19:52:32 -04:00
Jason Perkins
c51666fc07 Bug 3035545: The pattern { "./folder/*.c" } matches no files 2010-10-13 06:45:06 -04:00
Jason Perkins
683d391ae7 Bug 3007101: Generating PDB in Release builds is not supported 2010-09-05 16:10:28 -04:00
Jason Perkins
577d95420f Patch 3053959: kind() crashes when called with no arguments (rjmyst3) 2010-08-27 10:06:00 -04:00
starkos
0a6c7bcd31 Patch 2965229: Fix handling of '+' symbol in file patterns (Rachel Blum) 2010-03-08 14:57:21 +00:00