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