Commit Graph

955 Commits

Author SHA1 Message Date
Jason Perkins
f4f688e77c Add per-file build options and forced includes to VC 2008 2013-03-12 18:26:19 -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
2d5a5910e6 Visual Studio C# projects can now link to external files 2013-03-10 15:56:56 -04:00
Jason Perkins
b10f1b5b60 Improve Xbox 360 support 2013-03-07 12:14:03 -05:00
Jason Perkins
99a80052da Clean up VC'08 naming, and move toward new extensibility conventions set in VC'10 2013-03-07 10:45:33 -05:00
Jason Perkins
0fdb4d4768 Fix VC build error on recent getrelative() changes 2013-03-07 10:44:47 -05:00
Jason Perkins
8d8a3e3574 Fix: path.getrelative() gives incorrect results for paths containing "//" 2013-03-06 10:06:45 -05:00
Jason Perkins
ffc53d870e Added support for local assembly references to Visual Studio Managed C++ projects 2013-03-05 11:00:32 -05:00
Jason Perkins
d3ec20d1c3 Support linking of managed system assemblies in Visual Studio managed C++ projects 2013-03-04 11:45:27 -05:00
Jason Perkins
1773146d4d Merge with Premake-dev tip 2013-02-25 10:49:00 -05:00
Jason Perkins
68287a1437 Added application icon support for C# executable projects 2013-02-25 10:47:22 -05:00
Jason Perkins
991fdbe35a Patch 159: Validate all values passed to options (Moi_ioM) 2013-02-22 13:39:17 -05:00
Jason Perkins
47c8a568d4 Fix module definition file (.def) handling in VC'10 2013-02-21 10:28:41 -05:00
Jason Perkins
d5e3272957 Added forceusings() 2013-02-20 09:57:37 -05:00
Jason Perkins
453cae7362 Add table.foreachi(), phase out ipairs() in API so nil values can be included in lists 2013-02-20 09:45:35 -05:00
Jason Perkins
2e278af5e2 Cleaned up implementation of solution(), project(), configuration(); now activate scope when called without arguments 2013-02-15 18:57:34 -05:00
Jason Perkins
91272ebd37 Make more VC'10 project elements available for override by add-ons; clean up naming conventions of modified functions 2013-02-11 13:25:33 -05:00
Jason Perkins
3b84626132 Added MultiProcessorCompile flag to enable multiple compiler processes in Visual Studio 2013-02-08 10:35:14 -05:00
Jason Perkins
9c752adf4a Add ExcludeFromBuild flag to mark source files as non-buildable 2013-02-07 10:58:31 -05:00
Jason Perkins
41fcff188e Fix broken Makefile defines 2013-02-05 11:40:40 -05:00
Jason Perkins
9c3ba8784d Merged in liamdevine/premake-dev-foo (pull request #30)
Improved os.getversion() with support for Windows 8
2013-02-05 11:34:16 -05:00
Jason Perkins
653bef99ca Add warnOnce() helper method for add-on validation checks 2013-02-04 12:38:07 -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
faba7a72dc Fix Makefile linking to object files 2013-01-31 09:38:45 -05:00
Jason Perkins
8bf4499335 Improve processing of ld.so.conf (Cameron Hart) 2013-01-29 11:03:48 -05:00
Jason Perkins
34127f2463 Fix linking to external libraries outside of project folder 2013-01-29 10:25:52 -05:00
Jason Perkins
b7bc59e105 Allow command line override of makefile flags (Cameron Hart) 2013-01-23 11:50:54 -05:00
Jason Perkins
24708fcb21 Split out VC'08 CharacterSet attribute to allow extensions by add-ons 2013-01-23 11:23:39 -05:00
Jason Perkins
8e7da0f3be Moved UUID collision warning to stderr to improve visibility 2013-01-17 14:37:49 -05:00
Jason Perkins
e0f0537aa2 Move "ng" deprecation warning to stderr to increase visibility 2013-01-17 13:20:05 -05:00
Jason Perkins
b1c5e0dd20 Split VC'10 import statements to own function to enable add-on overrides 2013-01-17 13:19: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
62d269a12a Fix crash when run without any arguments 2013-01-11 07:28:56 -05:00
Jason Perkins
8275e190a1 Fix: if link contains a token that expands to an absolute path, HintPath of C# projects will end up with absolute path 2013-01-10 11:09:34 -05:00
Liam Devine
6c6dd4c99e Adds OS X 10.8 detection yet in a different way than currently as I believe Gestalt has been deprecated in 10.8 and generates warnings. I have never tested this code on 10.8 yet have on other versions. 2013-01-09 22:30:36 +00:00
Liam Devine
06aea5ebd0 Adds Windows Server 2012 and Windows 8 detection to os_getversion as per the details from http://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx 2013-01-09 22:06:49 +00:00
Jason Perkins
974d1a7d04 Added startproject() to specify startup project 2013-01-09 11:41:32 -05:00
Jason Perkins
749df96f38 Write out solution groups even if first project is ungrouped 2013-01-09 10:03:50 -05:00
Jason Perkins
89d413d9d5 Visual Studio solutions now use the same project ordering in all sections; avoids unnecessary changes if the solution is later changed within Visual Studio 2013-01-08 13:19:56 -05:00
Jason Perkins
a69b7501e7 Port path.getrelative() and path.translate() from Lua to C 2013-01-04 11:32:52 -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
30daa20f39 Fixed issues with Makefile naming; removed more deprecated Gmake action code 2012-12-31 13:45:22 -05:00
Jason Perkins
82633e66ce Merged pull request #26: added dependson command to allow dependency without linking 2012-12-31 12:02:03 -05:00
Jason Perkins
55541f2dbe Bug #266 Attempt to index nil global _ACTION 2012-12-31 10:34:19 -05:00
Alexey Orlov
4d6d61035c merge premake-dev->premake-dev-domu 2012-12-30 22:57:24 +03: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
1cd3667118 Output UTF-8 BOM at start of .vcxproj files 2012-12-23 17:41:49 -05:00
Jason Perkins
06318ab5b6 Allow config maps to be attached to specific configurations 2012-12-23 13:10:06 -05:00
Jason Perkins
7abfc991ae Make deterministic UUID code friendly to non-C99 compilers; update change log 2012-12-19 09:29:52 -05:00
Jason Perkins
4c7fc6881b Add support for solution groups 2012-12-18 11:09:50 -05:00
Jason Perkins
b88b606f33 Add ability to generate a deterministic UUID from a string value 2012-12-16 16:41:55 -05:00
Jason Perkins
cb2435faf6 Added NoRuntimeChecks flag to disable Visual Studio default checks 2012-12-11 11:17:43 -05:00
Jason Perkins
43cd668b98 Stop enabling VC'10 smaller type checks 2012-12-11 10:37:30 -05:00
Jason Perkins
b5cc1b96a2 Change case of vc2010.link() to match new extension convention 2012-12-06 14:03:17 -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
cc6e53314f Revert back to Visual Studio's default implicit linking; add NoImplicitLink flag to disable 2012-11-30 14:05:19 -05:00
Jason Perkins
732dd23d2e Removed deprecated file configuration object; now uses context object directly 2012-11-29 14:24:28 -05:00
Jason Perkins
5f338b665f Fix deprecated action message 2012-11-29 10:23:52 -05:00
Jason Perkins
3dd3166c14 Add pre- and post-build support to Visual Studio C# projects 2012-11-28 11:14:47 -05:00
Jason Perkins
432e99b2c9 Display deprecation warning for "ng" actions; properly reset state between unit tests 2012-11-28 09:55:25 -05:00
Jason Perkins
cdb34181f0 Removed deprecated example action to avoid confusion 2012-11-27 10:28:57 -05:00
Jason Perkins
547513a1d9 Remove deprecated tool interfaces 2012-11-27 10:28:17 -05:00
Jason Perkins
b4334e51cc Removed deprecated clean action; replaced with placeholder warning for now 2012-11-27 10:20:44 -05:00
Jason Perkins
bcc2914139 Removed deprecated Visual Studio actions 2012-11-27 10:18:06 -05:00
Jason Perkins
9391e3b07c Removed deprecated Gmake actions 2012-11-27 10:08:01 -05:00
Jason Perkins
25ba92b048 Removed deprecated --platform argument 2012-11-27 09:49:38 -05:00
Jason Perkins
cba537a825 Add architecture support to Visual Studio C# projects 2012-11-26 14:05:33 -05:00
Jason Perkins
1690d9b968 VC200x requires library names to be wrapped with quotes if they contain spaces 2012-11-26 10:09:50 -05:00
Jason Perkins
afdc2c37be Fixed small bug in VC200x empty configuration call 2012-11-19 16:16:41 -05:00
Alexey Orlov
6a1e7eecb8 added dependson command to allow dependency without linking 2012-11-20 00:08:48 +03:00
Jason Perkins
13cb60a94b Prevent duplicate config blocks in VC200x projects; clean up tests and remove old solution implementations 2012-11-19 15:47:59 -05:00
Jason Perkins
3af00f8773 If platform matches a known architecture, omit the identifier from Visual Studio configurations (allows configuration mapping to external projects which use multiple architectures per project configuration). 2012-11-17 15:49:06 -05:00
Jason Perkins
2cf609c6ac Ported key-value handling to new configuration system 2012-11-14 12:42:53 -05:00
Jason Perkins
5e48d05e3d Pull 25: Add Unix support to os.getversion() (wfgleper) 2012-11-12 10:54:54 -05:00
Jason Perkins
400ad0a0be Added force includes to MSC tool definition 2012-11-09 11:07:01 -05:00
Jason Perkins
8e8beb4312 Fix pass-through of configuration values to enable token re-expansion 2012-11-09 10:48:43 -05:00
Jason Perkins
80a60231db Add force includes for SNC; allow configuration context proxy to be reset by exporter code 2012-11-07 09:46:47 -05:00
Jason Perkins
89deec0474 Added force include files 2012-11-06 16:42:44 -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
211b538248 Added LINUX value to string constants table 2012-10-29 12:46:54 -04:00
Jason Perkins
bbc1ae59ad Add new API namespace() to set the root namespace of a C# project, independent of the project name 2012-10-26 16:58:46 -04:00
Jason Perkins
1747035050 Added filename(); set solution or project file name independently of the solution or project name 2012-10-24 15:40:25 -04:00
Jason Perkins
0e8915ec1d Fix bug in new criteria matcher 2012-10-23 18:15:07 -04:00
Jason Perkins
09334b4b1c Files marked as Content now are properly marked for copying to the output directory 2012-10-23 17:12:25 -04:00
Jason Perkins
77334d3499 Use Windows naming conventions for .NET projects; re-fixed a path token replacement issue broken by the merge with premake-dev 2012-10-23 17:03:25 -04:00
Jason Perkins
355844ca42 Merge with Premake-dev 2012-10-23 15:43: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
752adb830b Patch 3466877: Removed -flat_namespace from Mac OS X flags (Konstantin Tokarev) 2012-10-18 17:58:41 -04:00
Jason Perkins
815f89b8bf Patch 3441850: Use debug.traceback() as error handler (Konstantin Tokarev) 2012-10-17 18:59:55 -04:00
Jason Perkins
524d83063f Added support for C# Windows Forms components to Visual Studio 2012-10-11 11:26:02 -04:00
Jason Perkins
5714085c28 Better config filter matching, now using per-block relative paths 2012-10-11 11:19:15 -04:00
Jason Perkins
d27fc9a3a8 Fixed single-star matches for file configuration blocks; *.c now matches file in same folder as config script 2012-10-11 10:59:05 -04:00
Jason Perkins
5aef7605c2 Show user source code error location when an invalid value is passed into the API 2012-10-10 11:41:37 -04:00
Jason Perkins
bece5fb35b Port build action support to VS C# projects 2012-10-10 11:09:51 -04:00
Jason Perkins
12687e877e Added sibling project linking to C# makefiles 2012-10-08 18:31:12 -04:00
Jason Perkins
1659d68e1d Build and link target info now returned absolute to avoid path token expansion side-effects on relative paths 2012-10-08 11:50:42 -04:00
Jason Perkins
42f713857a Correctly handle tokens which expand to absolute paths within a path field 2012-10-08 11:06:37 -04:00
Jason Perkins
37ae88092f Patch 3367642: Add support for targetextension property to Xcode 2012-10-04 17:41:34 -04:00
Jason Perkins
a91b2823cd Iniital objdir support for VS C# projects 2012-10-02 12:57:10 -04:00
Jason Perkins
0f56ca513b Simple C# builds and cleans now working 2012-09-28 12:07:18 -04:00
Jason Perkins
27493cd10c Merged makefile target vars generation; added missing tool name accessor to snc and ow interfaces 2012-09-28 10:35:13 -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
e3947d6535 Added per-config tool selection to C# makefiles; cleaned up tool selection for C++ makefiles 2012-09-27 12:18:03 -04:00
Jason Perkins
a7ec374f0c Merge the different makefile header generation functions 2012-09-27 10:16:42 -04:00
Jason Perkins
1207bbd3ac Ported C# project and assembly reference handling 2012-09-27 10:15:27 -04:00
Jason Perkins
cf3d1f5f6f Merge with premake-dev 2012-09-25 10:27:10 -04:00
Jason Perkins
b277777bdc Cleaned up the VS solution configuration accessor functions 2012-09-25 10:20:14 -04:00
Jason Perkins
a4d67cea10 Fixed handling of architectures, including .NET "Any CPU", in VS 2005+ solutions 2012-09-25 10:03:21 -04:00
Jason Perkins
1bdf2f2e31 Improved handling of architecture and .NET projects in VS solution configurations 2012-09-24 11:16:27 -04:00
Jason Perkins
72d4331f65 Fixed handling of .NET configurations in VS2005+ solution platforms block 2012-09-20 18:07:19 -04:00
Jason Perkins
891a1dbcd6 Fixed handling of exact path matches in vpath building 2012-09-18 11:24:18 -04:00
Jason Perkins
f7cb37fc3c Pull 1: Fixed path to Info.plist in Xcode projects (Adrien Anselme) 2012-09-13 16:46:05 -04:00
Jason Perkins
37cfaf0666 Fixed a (stupid) typo in makefile include dirs list (h/t gogoprog) 2012-09-13 16:36:53 -04:00
Jason Perkins
b108893bcb Add include for PCH dependencies to makefiles 2012-09-06 18:43:02 -04:00
Jason Perkins
99aee5ac1f Patch 3476176: Fix dependencies of precompiled header in makefile (Konstantin Tokarev) 2012-09-05 18:37:53 -04:00
Jason Perkins
7a65362e40 Added tool interface for MSC command line 2012-08-18 16:33:37 -04:00
Jason Perkins
dc7d776df0 VS2010 now explicitly links all sibling projects for GCC builds (i.e. PS3) 2012-08-09 17:21:29 -04:00
Jason Perkins
dc82f87bd2 Port simple *.cs file handling 2012-08-07 17:03:23 -04:00
Jason Perkins
601ca14e6f Push all project naming through premake.project.getfilename(), so projects can override the default behavior 2012-08-06 21:04:43 -04:00
Jason Perkins
e6a30c7ee5 Turn off dependency linking in Visual Studio; link all sibling libraries explicitly 2012-08-01 15:28:21 -04:00
Jason Perkins
f2063245f8 Added configuration map to solution makefiles 2012-07-24 16:54:11 -04:00
Jason Perkins
00d7bfc0da Made build and link targets available for token expansion 2012-07-23 17:21:06 -04:00
Jason Perkins
e96383c3ae Fixed expansion of solution-level tokens 2012-07-18 13:42:39 -04:00
Jason Perkins
3a46c1addd Prevent explicit links lookup when configuration is not mapped for a project 2012-07-17 16:00:11 -04:00
Jason Perkins
3c8eae761a Make file name configuration tests case-insensitive 2012-07-16 15:06:23 -04:00
Jason Perkins
a05fafca93 Prevent "not X" terms from matching file names when building file configurations; object fields are not nil if not set (instead of empty table) 2012-07-15 15:46:22 -04:00
Jason Perkins
0ff8a15947 Break link between target and imp lib extension; setting a custom target extension will no longer change the imp lib extension 2012-07-11 15:53:21 -04:00
Jason Perkins
5912e3bbdf Added vs2005ng action, using latest APIs 2012-07-10 18:14:15 -04:00
Jason Perkins
55e952d7f4 Begin porting C# projects to new APIs 2012-07-10 16:44:44 -04:00
Jason Perkins
91a06a9304 Enable token expansion on more fields (including some that had been inadvertently dropped) 2012-07-06 17:20:14 -04:00
Jason Perkins
8cbd6bdcb0 Ported virtual paths to new api.register() API definition system 2012-07-06 17:01:50 -04:00
Jason Perkins
fc2af5a98a Ported everything except virtual paths to new api.register() definition system 2012-07-05 18:33:40 -04:00
Jason Perkins
a84eb22342 Remove makefile escaping from project dependency lists 2012-07-04 14:44:32 -04:00
Jason Perkins
6f359ae0ac Handle a nil custom build command description in Gmake action 2012-07-04 14:13:01 -04:00
Jason Perkins
be819ed338 Fix file exclusions for Gmake target 2012-07-04 12:52:25 -04:00
Jason Perkins
2386e328b0 Merge mopey's VS2012 support 2012-07-03 13:48:57 -04:00
Jason Perkins
f349259fa0 Remove…() now implicitly creates a new configuration block, so it will be applied in same context as it appears in the script 2012-06-30 14:33:28 -04:00
Jason Perkins
2d5d3a33da Exclude external project references from dependency path lists since actual target isn't known 2012-06-30 08:25:30 -04:00
Jason Perkins
2dd8552258 Initial support for custom build rules in makefiles 2012-06-29 09:05:20 -04:00
Jason Perkins
dfc37def22 Restore GMake per-configuration target rules 2012-06-28 14:21:55 -04:00
Jason Perkins
1119afdc08 Make GCC include dir flags project relative 2012-06-28 14:17:19 -04:00
Jason Perkins
b1a2f8918d Explicitly link dependent project libraries for external (i.e. PS3) VC200x projects to fix intermittent concurrent build issues 2012-06-26 15:10:43 -04:00
Jason Perkins
2f6a84a86b Explicitly link dependent project libraries in VC200x to fix intermittent concurrent build problems 2012-06-26 14:56:54 -04:00
Jason Perkins
67ba45c1c3 Make GMake target rules configuration dependent 2012-06-22 17:15:17 -04:00