Commit Graph

525 Commits

Author SHA1 Message Date
Jason Perkins
2dd8552258 Initial support for custom build rules in makefiles 2012-06-29 09:05:20 -04:00
Jason Perkins
6df59080eb Fixed a couple of unit tests that were failing on Windows 2012-06-28 15:48:05 -04:00
Jason Perkins
1119afdc08 Make GCC include dir flags project relative 2012-06-28 14:17:19 -04:00
Jason Perkins
67ba45c1c3 Make GMake target rules configuration dependent 2012-06-22 17:15:17 -04:00
Jason Perkins
6928b3c7bb Ported GMake Windows resource file handling, with per-configuration support 2012-06-22 09:27:03 -04:00
Jason Perkins
4b6daf8424 Make baked cfg.objdir absolute, to be consistent with other path fields 2012-06-20 18:16:46 -04:00
Jason Perkins
6ad4ec1506 Allow GCC to provide both system and architecture specific flags (instead of one or the other) 2012-06-20 16:15:45 -04:00
Jason Perkins
770dcdac48 Convert path tokens (i.e. targetdir) to project relative during expansion 2012-06-20 14:10:23 -04:00
Jason Perkins
808aa41177 Bug 1674173: Allow source files to have the same name 2012-06-19 15:58:16 -04:00
Jason Perkins
759c169b94 Port GMake file object lists, start work on per-configuration file lists 2012-06-15 18:42:10 -04:00
Jason Perkins
56f6fe1039 Ported GMake tests to new APIs 2012-06-14 16:30:48 -04:00
Jason Perkins
0550a3fa0f Ported GMake system-specific tool configurations 2012-06-14 15:55:46 -04:00
Jason Perkins
3153c7578f Ported make settings to new APIs 2012-06-13 18:29:51 -04:00
Jason Perkins
8d78b6ef68 Added test for libdirs fix 2012-06-13 17:18:27 -04:00
Jason Perkins
da4dbbc9de Ported GMake link step to new APIs 2012-06-13 15:21:22 -04:00
Jason Perkins
b9c09f6dd3 Added project references to VC 2008 to fix intermittent build failures 2012-06-12 18:16:14 -04:00
Jason Perkins
e45a6efbd4 Ported GMake PCH rules 2012-06-12 15:57:45 -04:00
Jason Perkins
e15d115bbd Fix a bug in configuration map pattern matching 2012-06-11 19:11:21 -04:00
Jason Perkins
019eb6eb39 Minimal changes for VS2012 support, from mopey's pull request 2012-06-08 15:07:49 -04:00
Jason Perkins
c1a793ae65 More changes to match VC2008 project defaults; avoid unnecessary changesets 2012-05-28 18:39:38 -04:00
Jason Perkins
850dbb099d Can now map from a solution config which doesn't exist in the project 2012-05-23 16:34:28 -04:00
Jason Perkins
ef4e929f60 Fix architecture mismatch in VS2010 project configurations element 2012-05-23 14:28:14 -04:00
Jason Perkins
4d1ad673fd Apply removes first instead of last, to give projects a way to clear the slate of solution level settings 2012-05-22 16:24:53 -04:00
Jason Perkins
e9a81b6f86 When configuration settings overlap, give precedence to the later settings 2012-05-21 17:55:07 -04:00
Jason Perkins
bf65487655 More progress on nextgen GMake action 2012-05-17 20:41:28 -04:00
Jason Perkins
9659541013 Write all config/architecture pairs into VS2010 project configurations element to avoid missing configurations 2012-05-15 19:06:03 -04:00
Jason Perkins
cac52ce5d6 Tweaks to better match the default VS2008 project layout, avoid modifications on project save 2012-05-10 17:52:28 -04:00
Jason Perkins
3da76a113f Project-level configurations no longer propagate up to solutions, require mapping instead 2012-05-08 15:37:12 -04:00
Jason Perkins
73146fa066 Disregard project configuration lists when iterating solution configurations 2012-05-08 14:09:07 -04:00
Jason Perkins
06ec00f1f4 Ported default config and help rule to new GMake action 2012-05-04 16:38:21 -04:00
Jason Perkins
7b14efeba7 Removed deprecated config.getuniqueobjdirs(); object directories are now part of up-front bake process 2012-05-01 17:04:26 -04:00
Jason Perkins
aded68ba8a Baking changes to support tokens in object directories 2012-04-26 09:26:44 -04:00
Jason Perkins
7675e057d2 Deep copy all object values, to allow unique per-target token expansions 2012-04-26 07:44:25 -04:00
Jason Perkins
391ec4eee6 Remove all configuration values from project; prevent top-level settings from bleeding through and causing side-effects at the config level 2012-04-25 19:10:37 -04:00
Jason Perkins
b44817ebd7 Solution.bake() now returns a temporary result; does not overwrite original solution object 2012-04-24 16:57:02 -04:00
Jason Perkins
15662f30c9 oven.bake() now takes explicit basis object, no longer tries to set parent objects automatically 2012-04-24 16:36:52 -04:00
Jason Perkins
6bdcb86ece Can now expand cfg.objdir, file.basedir and file.path tokens 2012-04-23 18:18:31 -04:00
Jason Perkins
671fd97864 Ported most list fields to new register() API 2012-04-22 14:12:33 -04:00
Jason Perkins
3ffbbff588 Patch 3353875: Allow running test script from other directories than "tests" 2012-04-22 13:03:43 -04:00
Jason Perkins
66585d36ae Fixed a project caching issue; performance is improved 2012-04-20 18:15:32 -04:00
Jason Perkins
0bbb323d0c Added support for basic token expansion; more work still needed 2012-04-20 16:08:42 -04:00
Jason Perkins
c8d493e569 Allow test or suite to be specified on command line 2012-04-18 17:12:56 -04:00
Jason Perkins
b930597f58 Enable token expansions on simple string fields 2012-04-18 15:15:56 -04:00
Jason Perkins
2c339eacfa Enable running individual tests or suites 2012-04-18 15:14:31 -04:00
Jason Perkins
fb833f3122 Ported string fields to new register()-based API definitions 2012-04-17 14:33:47 -04:00
Jason Perkins
fad379b388 Merged in xpol/premake-dev-debugcommand (debugcommand for Visual Studio) 2012-04-17 14:14:58 -04:00
Jason Perkins
8f60b15942 Ported string fields to new register()-based API definitions 2012-04-16 19:31:08 -04:00
Jason Perkins
d12a97465b Cleaned up test suite for new oven 2012-04-16 18:54:01 -04:00
Jason Perkins
1e29737cd7 Merged in xpol/premake-dev (Add NoWarnings flags) 2012-04-16 18:17:49 -04:00
xpol
d7d6857bf2 Add test for debugcommand.
This file contains MIXed line end styles.
It is suggested to convert to a single line end style.
2012-04-16 10:19:55 +08:00
xpol
ef3a891d83 add debugcommand for vs*. 2012-04-16 10:09:35 +08:00
Jason Perkins
5cc291c313 Configuration mapping now working in Visual Studio 2008+, for most cases 2012-04-12 20:31:10 -04:00
Jason Perkins
21c44e57fd Added project-level filtering for configuration maps 2012-04-11 18:56:17 -04:00
xpol
ce1ae72f11 Add tests for the warnings flags. 2012-04-11 11:29:16 +08:00
Jason Perkins
8e326ff6f1 Fixes for key-array and the new api.register() path 2012-04-10 17:21:37 -04:00
xpol
bd16eaedeb Add NoWarnings flags for Visual Studo to disable warnings (Very usefull when managing 3rd libraries). 2012-04-10 18:03:31 +08:00
Jason Perkins
86984a87de Added import library support to Visual Studio 2010 C++ projects 2012-04-09 14:51:08 -04:00
Jason Perkins
a68aa47e5f Added new array API value type, and started support for new key-value handling 2012-04-05 20:02:53 -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
38ae459803 Fixes for VC2010 custom build rule handling 2012-03-29 20:01:02 -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
0b241993c2 Merged file configurations and nodes in source trees 2012-03-27 18:54:15 -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
ef032d52cc Handle case where a library is specified with a system extension and end quote 2012-03-22 19:37:51 -04:00
Jason Perkins
f8fa020d64 Only add extension to libraries if it doesn't already exist; handle ending quote, if present, when appending extension 2012-03-22 19:30:34 -04:00
Jason Perkins
a1f9c7c376 Renamed file config fullpath to relpath; better matches corresponding abspath field, less confusing 2012-03-21 16:10:16 -04:00
Jason Perkins
a2aa2f83e1 path.isabsolute() now recognizes quoted shell variables 2012-03-19 18:57:45 -04:00
Jason Perkins
8436afcd24 Added VC2010 support for custom build rules 2012-03-19 18:47:34 -04:00
Jason Perkins
ff7065a239 Patch #3505901: Make VC2010 PCH behavior match VC200x 2012-03-18 17:53:19 -04:00
Jason Perkins
d90942b318 Implemented basic custom build rules for VC2008 2012-03-15 20:02:46 -04:00
Jason Perkins
f1f6304e9b Added support for file configurations to oven; full file configurations now available to actions 2012-03-14 18:20:01 -04:00
Jason Perkins
399739d012 Added buildrule() to the API 2012-03-12 19:51:10 -04:00
Jason Perkins
198a9896fb Configurations that have been excluded from all projects are no longer listed in the solution 2012-03-05 17:45:42 -05:00
Jason Perkins
36978f5063 GCC and SNC can now link object files directly 2012-02-29 16:05:45 -05:00
Jason Perkins
f4a10dec03 Fixed VC2010 linking to PS3 libraries 2012-02-28 18:09:12 -05:00
Jason Perkins
adb36bf3e1 Fixed SNC linking to static library projects 2012-02-28 17:14:28 -05:00
Jason Perkins
5761e86cb6 Ported GCC and SNC linker flag generation to new tool APIs 2012-02-28 16:15:46 -05:00
Jason Perkins
cd6852b896 Target base name now includes prefix; replaced magical "ng" suffix with explicit flag to make migration easier 2012-02-24 16:22:35 -05:00
Jason Perkins
91e69b35e1 Fixed handling of targetextension (was ignored) 2012-02-23 15:12:50 -05:00
Jason Perkins
79e84920bd VC200x resource compiler include paths are now project relative 2012-02-22 16:20:21 -05:00
Jason Perkins
e0a6ca727c Configurations and platforms may now be specified per-project 2012-02-19 12:31:20 -05:00
Jason Perkins
458dcb8cbb Added toolset() API to enable per-configuration tool selection 2012-02-16 19:51:14 -05:00
Jason Perkins
20598184fa Fixed bug that caused some per-configuration files to be missed 2012-02-15 11:53:00 -05:00
Jason Perkins
7350cc73dd Add per-configuration file lists for VC2010 2012-02-14 16:39:51 -05:00
Jason Perkins
dac18c990b Added per-configuration file lists for VC2008 2012-02-14 16:16:58 -05:00
Jason Perkins
9d8958a923 Standardized handling of file paths in API setters and removers 2012-02-13 18:50:38 -05:00
Jason Perkins
56d6701528 Added config.getfileconfig(), basis for per-configuration file and exclusion lists 2012-02-13 17:32:23 -05:00
Jason Perkins
309a76cb8a Improved extensibility of VC2010 generator 2012-02-12 16:08:27 -05:00
Jason Perkins
f625e01848 Added VC2008 external linker test 2012-02-11 13:49:58 -05:00
Jason Perkins
b88bf60036 Improved the extensibility of the VC2008 generator 2012-02-11 11:29:45 -05:00
Jason Perkins
fe00186ca3 Made VC200x compiler block easier for add-ons to extend with external toolsets 2012-02-11 08:18:19 -05:00
Jason Perkins
7c2736369f Xbox360 fixes for VS2010 2012-02-10 14:53:43 -05:00
Jason Perkins
bbb70b9f18 Avoid writing empty AdditionalOptions to PS3 compiler blocks 2012-02-06 17:39:32 -05:00
Jason Perkins
10f0798789 Remove…() now properly removes flags; fixed Visual Studio typecast warning in CoCreateGuid() 2012-02-02 18:09:02 -05:00
Jason Perkins
257487b2de Ported virtual paths to new platform API 2012-02-01 20:00:24 -05:00
Jason Perkins
7e5f16312a Completed VS2010 port to new platforms API 2012-02-01 19:05:13 -05:00
Jason Perkins
1fdc480339 Ported VC2010 project references 2012-01-31 19:54:33 -05:00
Jason Perkins
3230c3ea69 Ported VC2010 files 2012-01-31 19:31:50 -05:00
Jason Perkins
d7e850ef17 Added pattern matching to remove API 2012-01-30 16:48:35 -05:00
Jason Perkins
0747211b6c Added replace…() APIs (exact match only, no patterns yet) 2012-01-28 17:48:29 -05:00
Jason Perkins
afa5c067fa Added missing _ACTION on VC2010 tests, to pass on non-Windows platforms 2012-01-28 10:42:41 -05:00
Jason Perkins
8c4626b654 Ported VC2010 pre- and post-build events; more tests 2012-01-27 17:52:46 -05:00
Jason Perkins
69a28a1369 Ported VC2010 resource compiler and linker setting blocks 2012-01-27 16:29:41 -05:00
Jason Perkins
7d7d95e8f2 Ported VC2010 resource compiler block 2012-01-27 13:37:24 -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
5d5e199efe Ported VC200x C++ .user files to new platforms API 2012-01-24 19:27:18 -05:00
Jason Perkins
7f83f6d506 Fix some minor issues with release build 2012-01-23 11:47:48 -05:00
Jason Perkins
bcbc7f4950 Added target action, operating environment to configuration building filters 2012-01-22 12:19:43 -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
12b9c326d1 Ported remaining Visual Studio 2008 tool elements: MIDL, resources, Xbox 360 tools 2012-01-18 17:42:34 -05:00
Jason Perkins
761673005b Added some sanity tests for config linker information, to get things started 2012-01-18 16:26:05 -05:00
Jason Perkins
3f0f15942a Ported VCCompilerTool, VCLinkerTool, VCManifestTool and supporting function and tests to new platforms API 2012-01-17 19:04:46 -05:00
Jason Perkins
63a568dd3f Began implementation of Vc200x next-gen projects: header and configuration blocks 2012-01-13 17:19:46 -05:00
Jason Perkins
665ef8b86a Added new output function _x(), XML escapes all arguments before printing 2012-01-12 18:27:30 -05:00
Jason Perkins
8c9c451bdb Added new action "vs2008ng", implemented solutions using new platforms API 2012-01-12 16:59:15 -05:00
Jason Perkins
fa4813cf3b Port unique objects directory logic to the new platforms API 2012-01-11 16:30:59 -05:00
Jason Perkins
b1df4ff7ae Bug 3413866: Incorrect VS200x .csproj relative source paths 2012-01-09 15:35:28 -05:00
Jason Perkins
9749188cc4 Ported build target info logic to new platforms; added system() to API 2012-01-06 17:08:24 -05:00
Jason Perkins
2baa0ce3ad Ported VS2008 .vcproj Platforms and Configuration blocks to new platforms API 2012-01-04 17:16:06 -05:00
Jason Perkins
8f8a1a989f Implemented new ProjectConfigurationPlatforms for VS2008, supporting the new platforms API 2012-01-04 16:15:36 -05:00
Jason Perkins
5533461428 Implemented new SolutionConfigurationPlatforms handler for VS2008, supporting improved configurations 2012-01-03 17:08:22 -05:00
Jason Perkins
81ea63c877 Implement project.eachconfig(), to iterate through the new build configuration/platform pairs 2011-12-28 16:44:09 -05:00
Jason Perkins
12b033afc0 Merge with premake-dev 2011-12-21 16:19:54 -05:00
Jason Perkins
c18f49192f Patch 3463020: Add windres environment variable for makefiles (icebreaker) 2011-12-21 15:52:26 -05:00
Jason Perkins
522907cd4b Started a new, simpler baking API to support the platforms overhaul 2011-12-20 19:03:45 -05:00
Jason Perkins
2322e56d36 Bug 3410213: regression in xcode generation in 4.4 beta3 2011-12-20 14:59:26 -05:00
Jason Perkins
eeff5330eb Fix to previous commit; adds back missing platform identifier to VS2010 configs (h/t Richard Sim) 2011-12-15 14:14:26 -05:00
Jason Perkins
94e29b7cf3 Merge with premake-dev 2011-12-13 16:14:14 -05:00
Jason Perkins
5b6f8f6f36 Patch 3451212: Fix Visual Studio MFC with StaticRuntime 2011-12-13 16:10:22 -05:00
Jason Perkins
acebe2cc9c Patch 3430158: Reorder LINKCMD for Gmake (rjmyst3) 2011-12-08 16:25:50 -05:00
Jason Perkins
458d62ca36 Merge with Premake-dev 2011-12-07 16:10:27 -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
b5d7bba342 Added debugformat, with C7 support for Visual Studio 2011-11-19 16:50:50 -05:00
Jason Perkins
4bf628ac12 Fixed Xcode unit tests on non-Mac OSes 2011-11-19 12:10:58 -05:00
Jason Perkins
07853b1e34 Patch 3451928: VS2008 trying to build *.h files in C projects 2011-12-06 15:14:43 -05:00
Jason Perkins
b0b881284e Improved handling of linker defaults in VS2010 2011-11-13 15:07:31 -05:00
Jason Perkins
2a8b81ac8d Merge latest changes from premake-dev 2011-11-13 09:27:27 -05:00
Jason Perkins
02234cffa9 Patch 3381066: Fix VS2010 project references 2011-11-08 16:43:49 -05:00
Jason Perkins
b7fac3f46e Patch 3317329: Support vstudio CompileAs for mixed-language projects (xpol) 2011-10-21 15:32:18 -04:00
Jason Perkins
7c3716fc77 Patch 3372345: Gmake action's PCHs don't work with Mingw (Martin Ridgers) 2011-10-20 16:44:09 -04:00
Jason Perkins
2a0a79c243 Patch 3367641: Remove warnings in Xcode 4 2011-10-20 16:36:24 -04:00
Jason Perkins
15af117ef9 Patch 3035550: Make/Distcc outputs dependencies to wrong location 2011-09-19 16:45:49 -04:00
Jason Perkins
dfda94d862 Patch 3021550: Add Wii homebrew platform (Pathogen David) 2011-09-15 16:45:48 -04:00
Liam Devine
4eeb4f76f3 * Bug 3381149: Path of PCH source file in VS10 not being translated (intyuh)
Re- added unit test removed in 53abc69ab87c
Applied patch from intyuh
2011-09-08 14:30:10 +01:00
Liam Devine
5ef5682c94 * Bug 3381149: Path of PCH source file in VS10 not being translated (intyuh)
Re- added unit test removed in 53abc69ab87c
Applied patch from intyuh
2011-09-08 14:24:05 +01:00
Liam Devine
7185aaf0a0 * Added debug environment variable support for Codeblocks using gdb
Changes the name from environmentargs to debugenvs
Effects VS flags EnvironmentArgsInherit and EnvironmentArgsDontMerge which become DebugEnvsInherit and DebugEnvsDontMerge respectively.
2011-08-23 21:48:16 +01:00
Jason Perkins
8f6fd68f7a Fixed #3381011: location breaks vpaths 2011-08-22 16:35:51 -04:00