Commit Graph

1492 Commits

Author SHA1 Message Date
Jason Perkins
a82d9c7ba5 Report script errors from the custom module loader 2015-03-13 16:48:32 -04:00
Jason Perkins
571f2da4fb Apply coding conventions to Xcode workspace exporter 2015-03-13 16:48:06 -04:00
Jason Perkins
006a35c795 Stop generating empty .csproj.user files for VS 201x; added to change log 2015-03-12 11:26:29 -04:00
Jason Perkins
8a4a8ff866 Merge latest from development branch 2015-03-12 11:04:54 -04:00
Jason Perkins
0993059791 Roll back broken Xcode action preregistration 2015-03-12 08:13:53 -04:00
Jason Perkins
df4b2860ca Fix .user file indentation and final line ending 2015-03-11 17:36:25 -04:00
Jason Perkins
c8cc548bb0 Merge latest from default branch 2015-03-11 16:20:37 -04:00
Jason Perkins
89470ea620 Only output VC# .user file if there is something to put in it 2015-03-11 16:11:09 -04:00
Jason Perkins
058f1a4916 Modernize the VC# user file exporter 2015-03-11 15:52:51 -04:00
Jason Perkins
2fdddbee85 Only output VC'200x .user file if there is something to put in it 2015-03-11 15:39:20 -04:00
Jason Perkins
26fb3cb240 Reconcile coding styles between VC'201x and VC'200x user file exporters 2015-03-11 14:58:57 -04:00
Jason Perkins
7e8617dddf Standardize names of Visual Studio generate*() functions 2015-03-11 14:46:13 -04:00
Jason Perkins
a0408ebb98 Only output VC'201x .user file if there is something to put in it 2015-03-11 14:40:12 -04:00
Jason Perkins
d5b5abe43e Merged in TurkeyMan/premake-dev/gccprefix (pull request #154)
Added new API gccprefix
2015-03-11 12:03:12 -04:00
Jason Perkins
f0215968ba Merge Xcode module integration 2015-03-10 17:49:43 -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
e4a1ff2638 Merged in TurkeyMan/premake-dev/specific_warnings (pull request #152)
Added api's for control of specific warnings.
2015-03-10 17:14:22 -04:00
Jason Perkins
57880d8182 Merged in TurkeyMan/premake-dev/undefines (pull request #151)
Added 'undefines' api.
2015-03-10 17:11:52 -04:00
Manu Evans
7540f8a2f1 Added support to declare an explicit gcc toolchain prefix. 2015-03-10 21:45:41 +10:00
Manu Evans
f0f02fc680 Now with added unittests 2015-03-10 20:59:28 +10:00
Manu Evans
838e53c3d5 Now with added unit tests. 2015-03-10 20:41:44 +10:00
Manu Evans
a0567affcd Added some new debug api's, which are used by many of my plugins.
These are shared by a variety of IDE's, systems, toolsets, etc.

I can't seem to find use for them in the built-in actions, but they come up in
many of my extensions.
Cross-compilers, consoles, embedded, etc, all use these.
2015-03-10 10:25:34 +10:00
Manu Evans
b965c5a665 Added api's for control of specific warnings.
Support VS200x, 201x, gmake
2015-03-10 09:53:46 +10:00
Manu Evans
f03898de68 Added 'undefines' api.
Support VS200x, 201x, gmake
2015-03-10 08:49:19 +10:00
Jason Perkins
0b8d4c1544 Fix embedding of Xcode action registration 2015-03-09 17:07:12 -04:00
Jason Perkins
ad24e41dd6 Allow actions to load their module implementations on-demand.
By only registering the action, we skip the processing that would been necessary to load and evaluate the module scripts. This will allow us to improve overall performance while also scaling up the number of supported actions. To force loading of the entire module (to override specific calls, for instance), call require().
2015-03-07 13:12:11 -05:00
Jason Perkins
2f3df2da22 Merged in noresources/premake-dev-ns/findlib (pull request #150)
os.findlib(): add new argument to specify additional library search paths
2015-03-04 17:01:26 -05:00
Jason Perkins
8ed53ed3be Skip baking and validation phases for "non-configurable" actions
For actions that don't actually use the configured project information—such Premake's own embed, test, and release actions—the results of baking and validation phases aren't used, and the extra processing just takes up unnecessary time. Detect this case by checking the action for an onSolution() or onProject() call; if there isn't one, if isn't configurable.

If you have a custom action that does all its work in execute() that *does* need configurable information, you can just define a empty onSolution() function.
2015-03-03 15:20:33 -05:00
Jason Perkins
77a4c81406 Remove non-functional action.supportsconfig() call
This function was being called with incorrect arguments that ensured it always returned true. Since no one noticed, I'm going to assume that it isn't being actively used.
2015-03-03 15:01:17 -05:00
Jason Perkins
e6718b2d51 Bit of code cleanup to standardize comments and self arguments 2015-03-03 14:59:23 -05:00
Jason Perkins
62d98fce11 Index action arguments (_ARGS) by both index and value
This allows lookups like `if _ARGS["option1"] then …`
2015-03-02 15:15:45 -05:00
Jason Perkins
d886e813a8 Merge latest development branch 2015-02-27 16:37:00 -05:00
Jason Perkins
6f13f36998 Break _premake_main() out to a call array 2015-02-27 16:11:01 -05:00
Jason Perkins
bdb546330a Fix case on _ACTION and _OPTIONS filter prefixes in validation list 2015-02-26 10:36:59 -05:00
Jason Perkins
f9270e21cc Allow filters to specify field value aliases in the conditions 2015-02-25 17:38:16 -05:00
Jason Perkins
fd11fd3f60 Updated embedded copyright year 2015-02-23 17:11:27 -05:00
Jason Perkins
87762818f3 Return error code zero if --version option is specified to match other system tools 2015-02-22 10:18:07 -05:00
Jason Perkins
2ae3479f58 Merged in tbasnoopy/premake-dev/buildoutput fix (pull request #149)
add missing buildoutputs fix for vs2010
2015-02-18 15:13:41 -05:00
M Skibbe
b5c37c25cc add missing buildoutputs fix for vs2010 2015-02-18 11:33:07 +01:00
Jason Perkins
b7dac40a67 Use a more restricted set of search paths when loading the user project script 2015-02-15 14:57:42 -05:00
Jason Perkins
e78cf3f61d Use a more restricted set of search paths when loading the core and bootstrap scripts 2015-02-15 14:30:17 -05:00
Jason Perkins
c581403fe9 Remove .dll extension from managed assembly references in C++ projects 2015-02-14 15:41:41 -05:00
Jason Perkins
79507f946c Restore .lib extension on libraries from the MSC tool adapter 2015-02-14 15:30:17 -05:00
Jason Perkins
9ac067355d Reverse order of system and sibling libraries to match previous versions 2015-02-14 15:23:36 -05:00
Jason Perkins
f5abdb9d69 Remove ".lib" extension from system library links in generated makefiles on Windows 2015-02-14 14:56:02 -05:00
Jason Perkins
494196598e Fix Lua stack underflow in script loader 2015-02-13 16:03:32 -05:00
Jason Perkins
8390255470 Reverse search order of module naming variations to avoid matching embedded path ahead of local file 2015-02-12 18:29:48 -05:00
Jason Perkins
e9ac1dc74e Allow modules to be specified as bare Lua files, instead of placed in a module folder 2015-02-12 17:51:49 -05:00
ben_ratzlaff
10c1d98a90 Merged premake/premake-dev into default 2015-02-09 22:25:21 -07:00
Jason Perkins
4101fd8241 Fix "unused parameter" warning 2015-02-09 12:44:15 -05:00
Jason Perkins
1ddb214cc3 Fix "Error: (null)" messages on startup if main script can't be located on disk 2015-02-09 12:43:08 -05:00
Ben Ratzlaff
ec157c8e6e Implement 'RelativeLinks" flag to effect makefile creation to use -l and -L instead of linking against the full path of a dynamic object library 2015-02-06 16:48:59 -07:00
Jason Perkins
38c5b79840 Add the directory containing the Premake executable to the script search path
This is a useful location for placing a system script.
2015-02-06 16:33:28 -05:00
Jason Perkins
25e1e766ae Allow modules to specify an explicit directory, i.e. require("build/mymodule")
This makes it easier to distribute modules along with a project's source code, giving full control over where the modules are kept in the tree.
2015-02-06 15:38:56 -05:00
Jason Perkins
0f4e94f19c Merge module and script loading improvements 2015-02-05 16:12:01 -05:00
Jason Perkins
73a40b228a Create premake namespace in host *and* script until everyone has had a chance to update 2015-02-04 19:24:28 -05:00
Jason Perkins
f2c8b640d6 Pass through error messages from script loading; fixes misleading 'file not found' messages 2015-02-05 15:59:02 -05:00
Jason Perkins
7ed7af38db Allow action path variable maps to use functions as replacement values 2015-02-04 19:19:16 -05:00
Jason Perkins
a340df826b Drop no longer needed path.getabsolute() from main script loading 2015-02-04 19:16:05 -05:00
Jason Perkins
78678a193d Restore more of the script search locations 2015-02-04 18:56:45 -05:00
Jason Perkins
2e76782abc Move initialization of _USER_HOME_DIR to host 2015-02-04 18:39:02 -05:00
Jason Perkins
c936229eac Restore PREMAKE_PATH searching 2015-02-03 19:52:05 -05:00
Jason Perkins
1bd13569b9 Populate new global premake.path with search path; use in script loader
I've only implemented searching on the --scripts path with this commit; more paths coming in next commits.
2015-02-03 19:25:30 -05:00
Jason Perkins
cca1ea6643 Move premake namespace creation into host 2015-02-03 16:14:52 -05:00
Renaud Guillard
203218e506 merge default 2015-02-03 21:20:16 +01:00
M Skibbe
314d8cbe2d fix buildoutputs format 2015-01-28 09:26:57 +01:00
Jason Perkins
32a81cf19e Exclude empty C# user file property groups 2015-01-26 17:04:29 -05:00
Jason Perkins
a8a2595d79 Merge toolset path variables feature 2015-01-22 16:34:04 -05: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
2418a84fbd Add more Visual Studio path variables 2015-01-20 17:55:47 -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
98ab499f13 Revert ToolVersion change on VC 2013 .filters files to match VS 2015-01-12 17:17:56 -05:00
Jason Perkins
0c740abdb5 Switch action callbacks to new, preferred capitalization 2015-01-22 13:14:02 -05:00
Jason Perkins
6e60775e78 Add onStart and onEnd action callbacks; change capitalization of onSolution and onProject to match 2015-01-21 15:47:29 -05:00
Renaud Guillard
9287d88fd7 findlib: ensure library search paths does not contains unnecessary colons 2015-01-08 00:53:41 +01:00
Renaud Guillard
4323ed7a2f os.findlib(): add new argument to specify additional library search paths 2015-01-07 00:31:34 +01:00
João Matos
da75753b0d Added support for debug arguments to the C# VS/XS projects generators.
Obsoletes pull request #113, thanks to Elias Holzer for original code.
2015-01-02 22:26:13 +00:00
Jason Perkins
b9d6ce892b Fix Visual Studio 2013 tool and framework version numbers 2014-12-29 15:18:07 -05:00
Jason Perkins
c922f3a199 Fix "unused parameter" warning 2014-12-24 16:40:15 -05:00
Jason Perkins
e507d1a2fb Exclude resource elements from Visual Studio when no resource files are present 2014-12-23 20:05:40 -05:00
Jason Perkins
247018cef0 Fix relative loading of embedded scripts when local file exists 2014-12-22 17:08:47 -05:00
Jason Perkins
25255da22d Error on attempts to override a missing function 2014-12-22 11:52:57 -05:00
Jason Perkins
b47d85390e Add target field name to "invalid value" error messages 2014-12-22 11:52:31 -05:00
Jason Perkins
8f9ae22861 Defensive check for missing basedir field on config set blocks 2014-12-22 11:52:01 -05:00
Jason Perkins
dad1ee10e3 Pass Lua state to do_chdir(), for use by native code customizations 2014-12-22 11:51:06 -05:00
Jason Perkins
e2d8acf864 Allow main script name to be overridden in premake_execute() 2014-12-22 11:50:26 -05:00
Jason Perkins
1bcd783031 Consolidate Visual Studio extensions into the core action 2014-12-08 17:42:00 -05:00
Jason Perkins
ceb3c83d67 Remove outdated PS3 support
I will be bringing this back shortly, in a more complete form
2014-12-08 16:04:41 -05:00
Jason Perkins
89d33d2c8a Allow containers to explicitly list support for config scoped fields 2014-12-13 17:03:53 -05:00
Jason Perkins
eb0904698f Fix escaping of multiple build rule inputs 2014-12-08 12:44:51 -05:00
Jason Perkins
8756cd3eed Add missing quotes around PCH compile flags (h/t Daniel Gibson)
See comment at 7e583c84a3 (comment-1468822)
2014-12-08 11:47:55 -05:00
Jason Perkins
b9fe7a510f Fix DOS touch token replacement to work when file is in a different directory 2014-12-03 16:23:16 -05:00
Jason Perkins
c613ea9a83 Add CHDIR command line token 2014-12-01 17:34:08 -05:00
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