Commit Graph

615 Commits

Author SHA1 Message Date
Jason Perkins
a8f4c5561a Fix failing PS3 related unit tests 2014-12-18 16:41:58 -05:00
Jason Perkins
1bcd783031 Consolidate Visual Studio extensions into the core action 2014-12-08 17:42:00 -05:00
Damien Courtois
5b872a3a7f added unit test for issue #63 2014-12-16 10:44:56 +01:00
Jason Perkins
eb0904698f Fix escaping of multiple build rule inputs 2014-12-08 12:44:51 -05:00
Jason Perkins
8eef265558 Fix issue #21: ARCH variable conflicts with building on Gentoo
Remove the $(ARCH) variable from generated makefiles. If needed, we can come up with a different name that doesn't conflict with existing system variables.
2014-11-19 12:29:19 -05:00
Jason Perkins
0284817398 Implement CLR "Pure" and "Safe" values for VC 201x and MSC 2014-11-11 19:44:44 -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
38c5620f33 Convert all usages of Managed flag to new clr() function 2014-11-11 19:20:29 -05:00
Jason Perkins
b3aebffaf2 Add new editAndContinue() API to replace NoEditAndContinue flag
Make it easier and more intuitive to support platforms/toolsets where edit-and-continue is available but turned off by default. Can now turn off with editAndContinue("off") instead of flags("NoEditAndContinue"), and turn it on with editAndContinue("on") instead of removeflags("NoEditAndContinue").

The NoEditAndContinue flag is still in place, and continues to behave as it did before, but will be marked deprecated in the documentation.
2014-11-10 18:01:39 -05:00
Jason Perkins
c46f2c09e2 Fixes for Visual Studio rule generation
- Fix setting of boolean values to false
- Don't consider rules that haven't been explicitly included in a project
2014-10-24 15:35:30 -04:00
Jason Perkins
2ee4d7aca7 Replace customVar() and customList() with per-rule property setters.
Example:
rule "MyCustomRule"
   -- (definition of rule)

project "MyProject"
   myCustomRuleVars {
      MyStringProperty = "Value",
      MyListProperty = { "Value", "Value" }
   }
2014-10-20 18:45:05 -04: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
d73e9af2ed Add external…() version to all container creation calls 2014-10-18 16:33:13 -04:00
Jason Perkins
73f3375607 Rework oven to use new container APIs; can now bake rules as well 2014-10-16 16:17:59 -04:00
Jason Perkins
428b9cad2f Fix managed C++ linking of unmanaged library dependencies 2014-10-02 16:40:28 -04:00
Jason Perkins
157d96e39d Modernize VC 201x project references generator 2014-10-02 16:21:25 -04:00
Jason Perkins
88dc2cb8a8 Merged in dcourtois/premake-dev/custom_build_additional_inputs (pull request #131)
added a buildinput command to add additional input dependencies to custom build commands.
2014-09-28 14:52:43 -04:00
Jason Perkins
d3396be99c Fix unit tests broken by previous commit 2014-09-28 14:49:57 -04:00
Damien Courtois
e919f9e9f5 updated buildinputs tests to check the file separator 2014-09-26 15:26:56 +02:00
Damien Courtois
7c4eed3d1c added buildinputs support to make action 2014-09-26 15:24:23 +02:00
Damien Courtois
39725134b7 added support for buildinputs in vs200x generators 2014-09-25 11:00:17 +02:00
Damien Courtois
4e7dc976ba added a buildinput command to add additional input dependencies to custom build commands. 2014-09-25 10:41:27 +02:00
Jason Perkins
65a89ab098 Merged in noresources/premake-dev-ns/makefile-groups (pull request #112)
Transform solution groups into target aggregates in Makefiles (bis)
2014-09-20 18:50:56 -04:00
Jason Perkins
35b652557a Merged in mendsley/premake-dev/xbox360-imagexex (pull request #116)
Add support for custom title configuration files in xbox360 builds
2014-09-20 18:32:18 -04:00
Jason Perkins
fb8a77b902 Merged in grizzlynyo/premake-dev/FatalCompileWarnings_v201x_fix (pull request #114)
"FatalCompileWarnings" flags had no effect in vs201x actions
2014-09-20 18:25:06 -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
22d46ce57c More modernizing of VC 201x for extensibility 2014-08-07 18:07:32 -04:00
Jason Perkins
42cb65e0cb Allow ExcludeFromBuild flag to exclude entire configurations (VS only) 2014-07-29 16:00:02 -04:00
Jason Perkins
bed5207c5e Fix up formatting of tests from previous commit 2014-07-29 14:57:20 -04:00
Jason Perkins
32fc58eb23 Merged in gaz_liddon/premake-dev (pull request #115)
Fixes external library name mangling in gmake makefiles
2014-07-29 14:54:08 -04:00
Jason Perkins
2dfa47c0eb Fix up unsafe flag test from previous commit 2014-07-29 14:51:17 -04:00
Jason Perkins
394427a3db Merged in triton/premake-cs-fixes/cs-unsafe2 (pull request #67)
Added Unsafe flag support to the C# Make action.
2014-07-29 14:49:46 -04:00
Jason Perkins
02eb13e99d Stop writing PDB file name element to VS 201x C++ projects; use default name instead 2014-07-28 16:37:45 -04:00
Jason Perkins
ce0e8f8e90 Merged in triton/premake-cs-fixes/defplatform (pull request #108)
Added support for setting default platforms and implemented the VS action.
2014-07-17 11:48:41 -04:00
Jason Perkins
35582e2c4c Added cleanExtensions(), with VC 201x support 2014-07-16 15:32:08 -04:00
Jason Perkins
7b8d4c4c98 Merge utility and build rule improvements 2014-07-16 14:24:00 -04:00
Jason Perkins
f38c76a3ee Fix handling of dependson() for VS C# projects (João Matos) 2014-07-15 18:31:26 -04:00
Jason Perkins
19c3d7c972 Support project-level custom rule variables for VS 201x 2014-07-15 11:16:59 -04:00
Jason Perkins
8d206735b6 Improve compatibility with VS 201x Utility projects 2014-07-14 16:48:03 -04:00
Jason Perkins
3cea3afe1c Merged in stefanc/premake-dev/gmake-parallel-pch (pull request #118)
Fix gmake parallel builds when using precompiled headers
2014-07-08 17:32:00 -04:00
Jason Perkins
5d5928a759 Added response file support to C# Make action (João Matos) 2014-07-01 16:35:31 -04:00
Jason Perkins
725e433929 Added missing extension targets section for custom rules 2014-06-12 19:05:44 -04:00
Jason Perkins
bd49556345 Bug fixes and modernizing of VC 2010 exporter 2014-06-12 18:39:39 -04:00
Jason Perkins
07a4ad897d Add custom rules to VC 2010 filters 2014-06-12 16:14:42 -04:00
Jason Perkins
d7c7c9373d Modernizing pass over VS'10 file generation 2014-06-11 16:05:25 -04:00
Jason Perkins
d7bd1e381d Added support for custom rule list variables (VS only) 2014-06-11 13:52:08 -04:00
Jason Perkins
efe5f1e292 Initial implementation of a minimal custom rules API (currently Visual Studio only) 2014-06-10 16:38:16 -04:00
Stefan Cosma
20e44b9f34 - Fix gmake parallel builds when using precompiled headers 2014-06-05 18:11:03 +02:00
Jason Perkins
b0103e76ca Add getLibraryDirectories() to tool adapters
- use throughout to avoid flag duplication in VS projects with external tools
2014-05-23 20:10:34 -04:00
Jason Perkins
17522321aa Disable VS 2013 duplicated file warnings 2014-05-22 10:26:16 -04:00
Gaz Liddon
82a9ebda9e Linking gmake test - checks external lib name isn't mangled
External libs with a period in the currently get changed.

The period and everything after it is deleted. So:

links {"lua-5.1"}

becomes:

-llua-5

in the makefile. This test checks for that. Fix in next commit
2014-05-08 15:52:39 +01:00
Jason Perkins
5d38977c99 Fix bug in VC 2010 test suite 2014-05-07 15:18:03 -04:00
Jason Perkins
ae8a1e0cf3 Manual merge pull request #45 (Oliver Kuckertz)
- Add Maps flag to control generation of maps file for Visual Studio
2014-05-01 15:32:50 -04:00
Renaud Guillard
860f4d5fba add tests related to solution groups handling in gmake action 2014-04-26 22:28:04 +02: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
aef8313299 Add per-file vector extension for VC 2010 2014-04-12 14:48:15 -04:00
triton
dc18aba44a Added support for setting default platforms and implemented the VS action. 2014-03-18 22:01:59 +00:00
Jason Perkins
b9b3667968 Add support for the AVX instruction set 2014-03-18 16:26:21 -04:00
Jason Perkins
13c072594d Migrated more of the .vcproj support code to new conventions 2014-03-11 12:10:33 -04:00
Jason Perkins
8c54e7943f Rework VC 200x linker block to call arrays 2014-03-06 10:11:08 -05:00
msk
fa32a48db7 add testcase for utility support 2014-03-01 18:27:05 +01:00
Jason Perkins
6c0be942ce Merged in tbasnoopy/premake-dev/ATL support (pull request #105)
add ATL support
2014-02-27 14:01:16 -05:00
M. Skibbe
8e32d2a68a lower case the api call 2014-02-27 16:47:43 +01:00
Jason Perkins
5fdeba643f Moved platform toolset selection into configuration system 2014-02-27 09:54:55 -05:00
M. Skibbe
cb3671fdc8 add ATL support 2014-02-27 13:47:51 +01:00
Jason Perkins
0af9660606 Fix file sort order for VC'10 projects when virtual paths are used 2014-02-26 18:43:06 -05:00
Jason Perkins
cba18ab007 Port and clean up empty configuration handling in VC 200x projects 2014-02-18 10:59:56 -05:00
Jason Perkins
1b28b48a6b Fix duplicate flags in Gmake PCH build commands (Patrick Rapin) 2014-02-14 15:22:32 -05:00
Jason Perkins
407861bc80 Allow custom build and resource files to be excluded from builds 2014-02-11 18:04:07 -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
Jason Perkins
b3468bd591 Add locale() to specify culture codes for Visual Studio C/C++ resources 2014-02-06 15:38:51 -05:00
Jason Perkins
f44ac84545 Add per-file defines for VC 200x 2014-02-05 17:04:37 -05:00
Jason Perkins
5f1c12a1cf Fix makefile unit tests broken by previous commits 2014-02-04 15:27:51 -05:00
Jason Perkins
46e3a06330 Port VC 200x user files to new indentation APIs, fix a few indentation bugs from previous commit 2014-01-31 14:29:58 -05:00
Jason Perkins
93949df3fc Enable per-file defines in VC 2010 projects 2014-01-28 13:41:58 -05:00
Jason Perkins
6db06d6985 Use new indentation-aware APIs in VC 200x exporter 2014-01-31 11:40:09 -05:00
Jason Perkins
6cf6ab4955 Add prebuild-, prelink- and postbuildmessage() 2014-01-15 16:12:29 -05:00
Jason Perkins
d9a9919f49 Use DOS-style environment variables in VS solution paths 2014-01-13 17:10:53 -05:00
Jason Perkins
2efe9d780d Fixed VC 2010 escaping of custom build steps 2014-01-10 10:40:45 -05:00
Jason Perkins
48bbde5334 Fixed XML escaping for VS C# projects 2014-01-09 18:06:03 -05:00
Jason Perkins
75da14d13b Split XML declarations from VS project headers, to allow comments to be inserted by modules 2014-01-07 17:08:51 -05:00
Jason Perkins
ffdacd7fba Treat linker warnings as errors when FatalWarnings is set 2013-12-24 14:01:57 -05:00
Jason Perkins
0824533307 Allow implib… fields to control linking names for all target kinds 2013-12-20 09:48:03 -05:00
Jason Perkins
957a6e45e1 Move more tool switches into the mapping tables 2013-12-17 16:43:09 -05:00
Jason Perkins
11bfb279d3 Added support for Settings.settings file association 2013-11-20 15:35:37 -05:00
Jason Perkins
06aa897261 Add new "Resource" build action for WPF 2013-11-16 11:53:48 -05:00
Jason Perkins
fadde31127 Begin adding support for .xaml files 2013-11-15 17:17:41 -05:00
Jason Perkins
d3f0a43644 Add flag "WPF" to enable Microsoft WPF project handling 2013-11-15 16:35:27 -05:00
Jason Perkins
708175e24b Split baking back out into own source file; prevent automatic baking of "raw" objects 2013-11-14 08:52:55 -05:00
Jason Perkins
91d003a82f Phased out sysflag tables from tool adapters 2013-10-31 10:57:25 -04:00
Jason Perkins
b5e7a345fb Merged in triton/premake-cs-fixes/make-rc2 (pull request #71)
Fixed resource compiler tool in the C++ Make backend.
2013-10-31 11:19:09 -04:00
Jason Perkins
db77bb3434 Fix C# resource file associations when placed in a subfolder 2013-10-30 14:22:53 -04:00
Manu Evans
3feb383e2b Support vs2005 (yes, I downloaded and installed vs2005 to test).
Added unit tests.
2013-10-30 14:03:24 +10:00
Jason Perkins
b9739214dc Merged in triton/premake-cs-fixes/cs-noconfig (pull request #66)
C# Make projects now specify the "/noconfig" csc/mcs flag to behave like VS.
2013-10-24 11:38:52 -04:00
Jason Perkins
bff804a03a Merged in triton/premake-cs-fixes/cli-usingdirs3 (pull request #75)
Added new function usingdirs() to specify additional C++/CLI using directories.
2013-10-24 11:32:48 -04:00
Jason Perkins
f9015f55f1 Fix DEPENDS in C# Makefiles (João Matos, Jason Filsinger) 2013-10-24 11:30:05 -04:00
Jason Perkins
a91f7154f8 Merged in filsinger/premake-dev/cs-source-path-delimiter (pull request #84)
removing path.translate from cs.listsources to prevent the use of double backslash path delimiters.
2013-10-21 12:01:08 -04:00
Jason Perkins
c72d71424a Begin splitting VC200x exporter into function lists for overriding 2013-10-18 10:38:00 -04:00
Jason Filsinger
0343d81c9f removing path.translate from cs.listsources to prevent the use of double backslash path delimiters. 2013-10-16 22:04:23 -07:00
Jason Perkins
2e08d5f218 Added support for per-file NoPCH flag in the VS2010 generator (João Matos) 2013-10-16 16:11:39 -04:00
Jason Perkins
d1eb67d43b Enable per-file optimization levels for Visual Studio 2013-10-16 14:29:49 -04:00
Jason Perkins
133cf7ce7c Add "full" and "debug" optimization levels 2013-10-16 13:47:09 -04:00
Jason Perkins
30d53ced1d Merged in triton/premake-cs-fixes/cpp-framework (pull request #79)
Use the user specified target .NET framework for Managed C++ VS projects.
2013-10-09 11:38:18 -04:00
Nitin Gupta
c3d0e094a8 Fix clang test case
Test asserts that CXX is set to clang++ (and not clang)
2013-10-08 17:30:04 -07:00
Jason Perkins
1b105e377d Pass same flags to PCH compile as C/C++ source code 2013-10-03 10:47:14 -04:00
triton
68f3a6d032 Use the user specified target .NET framework for Managed C++ VS projects. 2013-09-30 15:53:16 +01:00
Jason Perkins
91635859b9 Add warnings(); deprecate ExtraWarnings and NoWarnings flags 2013-09-29 12:39:07 -04:00
Jason Perkins
686f3f071a Add optimize(); deprecate Optimize, OptimizeSize, and OptimizeSpeed flags 2013-09-29 11:23:39 -04:00
triton
69ad16381c Added new function usingdirs() to specify additional C++/CLI using directories. 2013-09-28 00:04:18 +01:00
Jason Perkins
4862c25af5 Add floatingpoint(); deprecate FloatFast and FloatStrict flags 2013-09-27 14:49:21 -04:00
Jason Perkins
df428a72d7 Add vectorextensions(); deprecate EnableSSE and EnableSSE2 2013-09-27 14:25:10 -04:00
triton
6e15d08b16 Fixed resource compiler tool in the C++ Make backend. 2013-09-27 01:52:06 +01:00
triton
6307cf0bd1 Added Unsafe flag support to the C# Make action. 2013-09-27 00:27:48 +01:00
triton
82fc2683be C# Make projects now specify the "/noconfig" csc/mcs flag to behave like VS. 2013-09-27 00:18:33 +01:00
Jason Perkins
542d4c88fb Merged in dcourtois/premake-dev/FixNoWarnings (pull request #65)
fixed NoWarnings flag for vs201x generators
2013-09-19 10:22:39 -04:00
Jason Perkins
4bef76b42a Merged in dcourtois/premake-dev/CustomBuildMessages (pull request #62)
added support for custom build message in vs201x generator
2013-09-19 10:19:15 -04:00
dcourtois
9a4e2ec8aa forgot to add test_manifest.lua to tests/premake5.lua and small fixes 2013-09-18 16:50:00 +02:00
dcourtois
eebd451006 merge latest revisions 2013-09-18 11:54:46 +02:00
dcourtois
e682b08779 fixed NoWarnings flag for vs201x generators 2013-09-18 11:37:36 +02:00
Jason Perkins
7c8881ddb2 Remove nextgen fields and _ng suffixes everywhere 2013-09-13 11:52:00 -04:00
Jason Perkins
e681b636ec More code cleanup:
- Drop premake5 namespace; everything is premake again
- Remove deprecated project and config APIs
2013-09-13 11:15:36 -04:00
Jason Perkins
db22c65496 Limit use of quotes in compiler command line arguments 2013-09-11 10:57:44 -04:00
dcourtois
36d62865b1 added support for additional manifest files to vs201x actions 2013-09-06 17:32:06 +02:00
Jason Perkins
ad0e72f6cf Removed references to missing getbuildaction() from C# Makefile projects 2013-09-06 10:23:17 -04:00
dcourtois
4c867e2f1d added support for custom build message in vs201x generator 2013-09-03 13:16:08 +02:00
dcourtois
a5e8862339 added support for LinkTimeOptimization flag 2013-08-21 11:58:08 +02:00
Jason Perkins
dcf2da2cde Add test for PCH location on include dirs when project has a location set 2013-08-20 10:50:07 -04:00
Jason Perkins
411675d356 Merged in mendsley/premake-dev/xbox360-extension (pull request #59)
In vs2010 Xbox360 builds should create a .exe file as the target for <OutputFile> and leave .xex generation to the Image Conversion task
2013-08-17 15:01:05 -04:00
Jason Perkins
c4af5ff1d4 Merged in mendsley/premake-dev/nobuffersecuritycheck (pull request #58)
adding flag 'NoBufferSecurityCheck' to disable the feature in Visual Studio and GCC projects (/GS-  and -fno-stack-protector respectively)
2013-08-17 14:51:33 -04:00
Jason Perkins
e593172691 Cleaned up previous VS 2013 support:
- Removed tests that were identical to VS 2012, and didn't cover new code
- Fixed Visual Studio version in comment header
- Added to change log
2013-08-17 14:31:52 -04:00
Matthew Endsley
5e3c8d59f8 Readding unit tests for xex->exe target extension changes 2013-08-15 19:36:32 -07:00
Matthew Endsley
cbfd227250 adding flag 'NoBufferSecurityCheck' to disable the feature in Visual Studio and GCC projects (/GS- and -fno-stack-protector respectively) 2013-08-15 15:22:23 -07:00
Igor Karatayev
219f0df11a Visual Studio 2013 integration changed table.insert to premake.override, added vs2013 tests. 2013-08-16 00:58:33 +03:00
Matthew Endsley
a0a2bcfafe Default to .lib extension for links in xbox360 system projects 2013-08-13 19:24:01 -07:00
Jason Perkins
2431aa9fae Improved handling of precompiled headers across toolsets 2013-08-13 10:56:01 -04:00
Jason Perkins
ddcdfe4a60 Stop stripping path from PCH headers in Visual Studio; first step in standardizing handling across tools 2013-08-11 14:27:17 -04:00
Jason Perkins
99ce5cfbbf Rework Gmake C++ exporter to use new extensibility conventions 2013-08-11 14:22:24 -04:00
Jason Perkins
b18e8b7ccd Swapped $(LIBS) and $(ALL_LDFLAGS) in makefile linking step (Ben Henning)
See http://sourceforge.net/p/premake/bugs/279/
2013-08-11 09:54:17 -04:00
Jason Perkins
379de28f74 Use self-closing <ClCompile> elements where possible; remove trailing newline from </Project> 2013-08-11 09:52:51 -04:00
Jason Perkins
f94ccff6d0 Added copylocal() API and NoCopyLocal build flag to control assembly reference copying in C# projects 2013-08-11 09:51:19 -04:00
Jason Perkins
4d653106e6 Use matching build configuration or platform, if available, when building names for excluded project configurations 2013-08-11 09:47:07 -04:00
Jason Perkins
4b251b2036 Excluded files are no longer considered in duplicate object file renumbering 2013-07-07 16:48:17 -04:00
Jason Perkins
8f2a64cd88 Consolidate file configuration building in up-front baking step 2013-07-04 12:37:01 -04:00
Jason Perkins
5c87c62de1 Split handling of include directories and force includes; wrap all include paths in quotes 2013-06-27 13:50:12 -04:00
Jason Perkins
644cb30326 One of the change sets to support the new kind "None" seems to have gone missing; here it is (again?) 2013-06-26 07:28:57 -04:00
Jason Perkins
2f1fe980ef Duplicate object file names are now ordered the same across all toolsets 2013-06-21 17:32:33 -04:00
Jason Perkins
e7fc3724b5 Roll back trailing CR-LF pairs on VC'09 build step command lines 2013-06-21 16:08:43 -04:00
Jason Perkins
ceb8756382 Added additional build actions for C# subtypes (Form, Component, UserControl); dropped Component build flag 2013-06-17 11:46:53 -04:00
Jason Perkins
797db3b31d Adjust source file ordering to better match Visual Studio 2008 2013-06-13 14:10:02 -04:00
Jason Perkins
08de36c098 Write ActiveCfg entries for excluded configurations in VS solutions, to avoid rewriting on save 2013-05-31 09:33:02 -04:00