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
starkos
8f3411d708
Bug 2953594: includedirs / libdirs converting absolute paths to relative
2010-02-27 02:50:55 +00:00
starkos
96b28c3146
Bug 2958829: Files pattern matching including too many files
2010-02-27 02:00:50 +00:00
starkos
97763cf414
Patch 2936443: Expose configuration terms to scripts (Laurent Humbertclaude)
2010-02-17 22:11:25 +00:00