Commit Graph

994 Commits

Author SHA1 Message Date
Tom van Dijck
21f4046793 Buffered I/O, and only write generated file if it changed. 2015-07-31 09:28:51 -07:00
Jason Perkins
91220c7d71 Replace "wrk" with "wks" 2015-07-30 15:30:41 -04:00
Jason Perkins
2db9ed2061 Change solution() to workspace() with minimum changes 2015-07-28 19:08:28 -04: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
leeonix
e8a7ce64ff update test_compile_settings.lua 2015-07-22 15:14:06 +08:00
Jason Perkins
de7b6e001d Code cleanup; finish converting to new indentation-aware output APIs 2015-07-15 16:52:56 -04:00
Bastien Brunnenstein
cc1ec554af Add a small test suite for tokens and wildcards in "files" 2015-07-10 11:33:23 +02:00
Jason Perkins
b07b353507 Fix unit tests broken by the previous commit 2015-07-09 15:06:41 +02:00
Tom van Dijck
5fb66f12e5 fix unit-tests. 2015-07-09 15:06:38 +02:00
rhuvendiek
ca4a687773 Add unit test for MIDL generator. 2015-07-09 15:06:35 +02:00
Jason Perkins
349c6f891c Add link time optimization support for GCC and Clang 2015-07-09 15:06:32 +02:00
leeonix
91ec1f2f4f modify gmake Makefile LINKCMD $(TARGET) to "$@" issue #125 2015-07-09 15:06:18 +02:00
Jason Perkins
9f68132f53 Deprecate SEH flag; add value to exceptionhandling() 2015-07-09 15:06:14 +02: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
0432d192e4 convert exceptionhandling, rtti and editandcontinue flags from boolean to "tri-states". 2015-07-09 15:05:50 +02:00
Tom van Dijck
046abc1331 add new exceptionhandling and rtti API's, deprecate the corresponding flags. 2015-07-09 15:05:47 +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
Jason Perkins
86d40be605 Fix unit tests broken by the previous commit 2015-07-05 12:51:36 -04:00
starkos
9e1b733e78 Merge pull request #138 from Blizzard/targetdir-default-fix
fix targetdir default.
2015-07-05 12:30:36 -04:00
Tom van Dijck
31e3588d54 fix unit-tests. 2015-07-02 07:14:26 -07:00
starkos
b3639127cc Merge pull request #137 from starkos/lto-support
Add link time optimization support for GCC and Clang
2015-07-01 16:27:53 -04:00
rhuvendiek
2014046021 Add unit test for MIDL generator. 2015-07-01 16:52:53 +02:00
Jason Perkins
d0e6042406 Add link time optimization support for GCC and Clang 2015-06-30 16:20:10 -04:00
starkos
5ce2bc0a7b Merge pull request #127 from starkos/exception-rtti-fixes
Finish switching to exceptionhandling() and rtti()
2015-06-25 15:35:05 -04:00
leeonix
a01225a90a modify gmake Makefile LINKCMD $(TARGET) to "$@" issue #125 2015-06-25 07:03:10 +08:00
Jason Perkins
f59651f3f6 Deprecate SEH flag; add value to exceptionhandling() 2015-06-23 19:03:28 -04:00
Jason Perkins
313a7c31ce Replace usages of NoExceptions and NoRTTI flags with exceptionhandling() and rtti() 2015-06-23 16:53:10 -04:00
Jason Perkins
5d98731c65 Add optional versions argument to require() 2015-06-22 15:35:20 -04:00
Jason Perkins
bc55dc5796 Add a version comparison call with tests 2015-06-22 14:48:26 -04:00
starkos
0280d44efd Merge pull request #104 from Blizzard/normalize-fix
filter out /./ in path.join and path.normalize
2015-06-21 19:30:45 -04:00
Tom van Dijck
8d0b2565b5 convert exceptionhandling, rtti and editandcontinue flags from boolean to "tri-states". 2015-06-16 08:44:18 -07:00
Tom van Dijck
307e04ed88 add new exceptionhandling and rtti API's, deprecate the corresponding flags. 2015-06-16 08:25:39 -07: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
Manu Evans
2851751963 Merge pull request #99 from moomalade/make_cc_override
Enable Makefile environment overrides for CC,CXX and AR.
2015-06-13 10:43:04 +10:00
Tom van Dijck
678616b068 fix for /O2 not liking /RTC1 2015-06-10 16:32:09 -07:00
Tom van Dijck
fc9c8d224d oops.. remove out paths. 2015-06-08 11:12:17 -07:00
Tom van Dijck
c3c2045d92 filter out /./ in path.join and path.normalize 2015-06-08 11:08:08 -07:00
Tim Wharton
45401aa57b Enable Makefile environment overrides for CC,CXX and AR.
Check if CC, CXX or AR are their default values before assigning them their premake defaults.
If they are not at their default values, they have been overriden in the environment and we should leave them alone.

Overriding toolchains from the command line is useful when swapping between compilers.
For example: `CC=gcc-4.8.1 make -C build`
2015-06-08 04:46:16 +01:00
starkos
b23fcc0e2b Merge pull request #12 from Blizzard/pr6
/O2 is incompatible with /RTC1
2015-05-25 19:42:29 -04:00
Jason Perkins
aafdc11626 Prevent environment variables from being trimmed out by ".." sequences in path.join() 2015-05-20 18:15:41 -04:00
starkos
d16b2f952f Merge pull request #76 from starkos/vstudio-system-includes
Add system include and library search paths
2015-05-20 16:20:03 -04:00
Jason Perkins
304c091431 Merge remote-tracking branch 'origin/master' into vstudio-system-includes 2015-05-19 15:55:47 -04:00
Jason Perkins
c83634c105 Add support for sysincludedirs() and syslibdirs() to GCC, Clang, and MSC adapters 2015-05-19 15:55:11 -04:00
Tom van Dijck
6f20d21328 performance improvement by handling edge .. directories during path join 2015-05-18 18:08:36 -07:00
Tom van Dijck
e821e1f1da fix unit-tests 2015-05-18 08:43:12 -07:00
Jason Perkins
7eb03dfa27 Add syslibdirs and VC 2010+ implementation 2015-05-17 17:53:55 -04:00
starkos
b1cbb27914 Merge pull request #61 from Blizzard/deprecated-args
Fixes for lua deprecated 'arg' usage.
2015-05-17 12:02:33 -04:00
Jason Perkins
8048890507 Merge branch 'master' of https://github.com/amc522/premake-core into amc522-master
# Conflicts:
#	src/actions/vstudio/vs2010_vcxproj_user.lua
2015-05-17 12:01:04 -04:00
Jason Perkins
ee1f165c8a Add sysincludedirs() and VC 2010+ implementation 2015-05-13 15:41:29 -04:00
tdijck
010397c15e Fixes for lua deprecated 'arg' usage. 2015-05-11 10:18:17 -07:00
Manu Evans
c2b982885a Merge pull request #60 from starkos/fix-rule-var-paths
Fix rule var paths
2015-05-09 10:54:53 +10:00
Jason Perkins
15fd9fd43b Translate rule var paths for Visual Studio projects and make relative to project 2015-05-08 16:30:47 -04:00
Aaron
431c158a65 Fixed test for debugcommand for vc2010 action 2015-05-08 12:24:49 -04:00
Jason Perkins
a0881cbcff Fix usages of old external function casing 2015-05-07 15:37:32 -04:00
Jason Perkins
2df200eb2d Re-standardize all project APIs to Lua's all-lowercase style
See [this discussion topic](https://groups.google.com/forum/#!topic/premake-development/W1rRPcMmM0k)
2015-05-05 14:46:00 -04:00
Manu Evans
f01d7f726c Merge pull request #48 from starkos/vs-platform-toolset
Modify toolset() to accept an option version number
2015-04-29 21:26:59 +10:00
Jason Perkins
32183f039f Modify toolset() to accept an option version number.
toolset("gcc")   -- specifies GCC with no specific version
toolset("gcc-4.8")   -- GCC version 4.8
toolset("msc-100")  -- MSC with platform toolset v100
toolset("v100")  -- same as above
2015-04-28 18:50:56 -04:00
Jason Perkins
400f0fccdb New API buildlog() to specify build log file path; implemented for Visual Studio 2010+ 2015-04-28 16:30:23 -04: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
Manu Evans
07e90323cd Changed x32/x64 to explicit architecture names for clarity.
Aliases should probably be deprecated.
2015-04-13 21:41:08 +10: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
878d108367 Merged in ben_ratzlaff/premake-dev (pull request #146)
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-03-29 17:46:35 -04: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
Jason Perkins
eed8138a82 Fixed duplicate AVX test case name in GCC suite 2015-03-26 12:24:11 -04:00
Jason Perkins
0869ac5cb2 Implement AVX2 for Visual Studio 2013 2015-03-26 10:22:55 -04:00
Jason Perkins
d34021bcc9 Implement AVX2 flags for GCC and MSC 2015-03-26 08:17:13 -04:00
Damien Courtois
f11fe0db26 added unit test for premake's module loader 2015-03-26 10:54:28 +01:00
Jason Perkins
571f2da4fb Apply coding conventions to Xcode workspace exporter 2015-03-13 16:48:06 -04:00
Jason Perkins
8a4a8ff866 Merge latest from development branch 2015-03-12 11:04:54 -04:00
Jason Perkins
c8cc548bb0 Merge latest from default branch 2015-03-11 16:20:37 -04: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
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
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
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
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
Jason Perkins
f9270e21cc Allow filters to specify field value aliases in the conditions 2015-02-25 17:38:16 -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
f5abdb9d69 Remove ".lib" extension from system library links in generated makefiles on Windows 2015-02-14 14:56:02 -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
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
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
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
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
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
e507d1a2fb Exclude resource elements from Visual Studio when no resource files are present 2014-12-23 20:05:40 -05:00
Jason Perkins
b68537cd00 Remove dead code from option unit tests 2014-12-22 11:49:47 -05:00
Jason Perkins
a8f4c5561a Fix failing PS3 related unit tests 2014-12-18 16:41:58 -05:00
Jason Perkins
934e3cecf8 A bit of cleanup 2014-12-13 17:32:09 -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
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
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
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
60fc6d2897 New API strictaliasing() with GCC support 2014-11-04 18:25:32 -05:00
Jason Perkins
a972ab8009 Merge with latest development 2014-10-24 15:38:12 -04: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
3104421fc3 Fix --scripts path in test helper scripts 2014-10-22 14:48:22 -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
9303920414 Add boolean field kind 2014-10-18 16:06:04 -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
47aa8db1a7 Rework solution and project APIs around new container calls 2014-10-09 19:34:34 -04:00
Jason Perkins
f73a2206ef Port solution() to new container API 2014-10-07 16:56:53 -04:00
Jason Perkins
86685d7514 Merge latest development branch 2014-10-04 19:21:38 -04:00
Jason Perkins
67f6fba149 Merge new script embedding system 2014-10-04 19:10:21 -04:00
Jason Perkins
a9f862293b Merge latest development branch 2014-10-02 17:11:34 -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
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
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
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
1b73aaf36c Merge with latest development branch 2014-09-22 16:37:51 -04:00