Commit Graph

213 Commits

Author SHA1 Message Date
Sam Surtees
d382228ceb Converted premake-core tests over to use premake.action.set() instead of _ACTION 2016-02-06 13:35:54 +10:00
Sam Surtees
f60a1b391f path.translate now uses the target OS separator by default instead of Windows separator. 2016-02-06 13:35:03 +10:00
Tom van Dijck
d387209ed4 fix "do_isabsolute", and add more tests. 2016-02-05 13:15:01 -08:00
Jason Perkins
ef5ac384cf Add support for DOS-style environment variables, e.g. %JAVA_HOME% 2016-01-20 14:06:38 -05:00
Tom van Dijck
c9dd90f4b7 Merge pull request #370 from Blizzard/detoken-explicit-absolute
Allow the pathVars to return a table that specifies explicitly that a token represents a relative or absolute path.
2016-01-14 13:23:53 -08:00
Tom van Dijck
535e40db5f Allow the pathVars to return a table that specifies explicitly that a token represents a relative or absolute path. 2015-12-17 16:13:35 -08:00
Tom van Dijck
9f7ebdced2 make "premake.checkVersion" use Semantic Versioning
http://semver.org/
2015-12-17 10:55:43 -08:00
starkos
847fc633ac Merge pull request #242 from Blizzard/fix-path-join
Recognize more situations where '..' should not be trimmed.
2015-09-16 18:40:49 -04:00
James Touton
d26944a64e Added tests for complex joins with .. components. 2015-09-05 17:40:50 -07:00
Jason Perkins
aa88ddab96 Rename "MySolution" to "MyWorkspace" across tests 2015-09-03 18:03:39 -04:00
Jason Perkins
c3d2e226a3 Rename solution to workspace in test suites 2015-09-03 18:03:39 -04:00
starkos
aeca0bb3fd Merge pull request #228 from LORgames/ssurtees/multipleWorkspacesFix
Fixed a bug when including (includeexternal) the same project in multiple workspaces
2015-08-30 11:11:16 -04:00
starkos
ba3e30f510 Merge pull request #234 from starkos/more-workspace-renames
More workspace renames
2015-08-30 11:10:34 -04:00
Sam Surtees
23d2c04e2b Fixed a bug when including the same project in multiple workspaces, when using the includeexternal API. Based on discussion in #122 2015-08-30 22:17:00 +10:00
starkos
d2290fc742 Merge pull request #231 from LORgames/ssurtees/windowsCopyFix
Windows copy function no longer uses /E when used on a file
2015-08-28 16:19:24 -04:00
Jason Perkins
14525e8161 Changes names in core test suites 2015-08-28 16:16:14 -04:00
Sam Surtees
773aecbee7 Added test case to ensure the functionality isn't broken in the future. 2015-08-27 22:35:04 +10:00
Sam Surtees
0f3972c914 Windows copy function no longer uses /E when used on a file
* Added some basic tests to ensure combinations work
* Fixes: #124
2015-08-27 20:44:14 +10:00
Jason Perkins
072b47eb56 Added unit test for new search ability 2015-08-23 14:53:56 -04:00
StiX
16dded0499 Fixed path.normalize 2015-08-12 00:21:23 +02:00
Lusito
15ceabac48 fix for path.join problem when both string start with a "..", a unit test has been added 2015-08-01 21:10:02 +02:00
Jason Perkins
e84cc11412 Add ability to safely alias function names without breaking overrides
Introduces new calls premake.alias() and premake.resolveAlias()
2015-07-28 17:20:13 -04:00
Jason Perkins
2a608f4ca4 Replace usages of NoExceptions and NoRTTI flags with exceptionhandling() and rtti() 2015-07-09 15:06:09 +02:00
Jason Perkins
bd2b887367 Add optional versions argument to require() 2015-07-09 15:06:03 +02:00
Jason Perkins
c3c288a139 Add a version comparison call with tests 2015-07-09 15:05:59 +02:00
Tom van Dijck
cd80c5a9c5 oops.. remove out paths. 2015-07-09 15:05:34 +02:00
Tom van Dijck
b874b79597 filter out /./ in path.join and path.normalize 2015-07-09 15:05:33 +02:00
Damien Courtois
b228a68919 fixed incorrect backslashes escaping outside of tokens 2015-07-07 14:43:31 +02:00
Damien Courtois
f5d7ef1a5b fixed a crash when a token contains non-escaped backslashes, and added a unit test 2015-06-15 18:15:03 +02:00
Jason Perkins
aafdc11626 Prevent environment variables from being trimmed out by ".." sequences in path.join() 2015-05-20 18:15:41 -04:00
Tom van Dijck
6f20d21328 performance improvement by handling edge .. directories during path join 2015-05-18 18:08:36 -07:00
Jason Perkins
17f1843c71 Finish renaming architectures away from x32/x64
A number of tests were relying on the fact that x32/x64 were being converted implicitly to x86/x86_64. If/when we retire those symbols, all of those tests would break. Renamed them now to avoid having to sort it out later. Also fixed up comments to keep everything consistent.
2015-04-13 18:27:11 -04:00
Jason Perkins
614cea1c98 Fix handling of "../../.." sequences in path.normalize() 2015-04-08 18:01:43 -04:00
Jason Perkins
4f511b2960 Merge branch 'cleanup-hg' of https://github.com/premake/premake-core 2015-04-04 11:29:40 -04:00
Jason Perkins
0557e38efd Merge branch 'pr2' of https://github.com/Blizzard/premake-core 2015-04-04 11:17:24 -04:00
Manu Evans
1873aa77af Surprisingly, the source code has referenced to .hg* files... 2015-04-03 13:30:46 +10:00
Jason Perkins
67bb8488d0 Back out exclude patterns on os.match() 2015-04-01 13:36:01 -04:00
Jason Perkins
5672a02792 Backout changeset 589733d6e9dc0e521bbf90a51dc1ef251b0fe46b 2015-04-01 13:35:12 -04:00
tdijck
71a286da8c strip ../ in path.normalize 2015-03-31 11:49:47 -07:00
Jason Perkins
2c8facae20 Merged in dcourtois/premake-dev/issue_265 (pull request #159)
fixed issue #265
2015-03-29 17:28:10 -04:00
Jason Perkins
346d3db25c Allows to replace the extension - if exist - of a path (M Skibbe)
No magic but i really often need such a functionality. Espacialy for buildrules.
2015-03-29 17:25:22 -04:00
Jason Perkins
653416ead7 Merged in domu/premake-dev/dev/issue240 (pull request #130)
Fix issue #240, make os.match to get exclude patterns for dirs and files, os.rmdir now gets all dirs and filter out . and .. manually
2015-03-29 16:53:41 -04:00
Damien Courtois
f11fe0db26 added unit test for premake's module loader 2015-03-26 10:54:28 +01:00
Jason Perkins
39e97e68a3 Phase out use of PS3 platform; no longer included in core 2015-03-11 16:16:56 -04:00
Jason Perkins
1fd2bc5c9f Merged in noresources/premake-dev-ns/outputof_exitcode (pull request #92)
os.outputof now returns the command exit code as a second result
2015-03-10 17:26:03 -04:00
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