Commit Graph

1174 Commits

Author SHA1 Message Date
thomas desveaux
aea34396fa Merge remote-tracking branch 'origin/master' into visibility-hidden 2018-04-12 19:27:27 +02:00
thomas desveaux
906e86d994 Merge remote-tracking branch 'origin/master' into omit-frame-pointer 2018-04-12 19:24:09 +02:00
Thomas Desveaux
d556b6510f Implement unsignedchar for msc 2018-04-10 20:24:05 +02:00
Thomas Desveaux
2d8271c1e2 Pull VisibilityHidden from flags to an API + Add all possible values 2018-04-10 19:46:36 +02:00
Thomas Desveaux
de16d5cb87 Add VisibilityHidden to flags + implement for gcc 2018-04-09 17:14:38 +02:00
Thomas Desveaux
0160e82188 Add omitframepointer API + implement for gcc and vstudio 2018-04-09 17:11:38 +02:00
Thomas Desveaux
ba8835fb54 Add UnsignedChar API + implement for gcc 2018-04-09 16:59:02 +02:00
Tom van Dijck
ad3b884905
Merge branch 'master' into ssurtees/pathNormalizationFix 2018-01-17 09:24:00 +01:00
Thomas Desveaux
331810ddb3 isaextensions: Add tests 2018-01-09 16:01:51 +01:00
Sam Surtees
9039232548 Fixed a bug with normalizing paths that contain dot folders
- Added additional tests
2018-01-08 03:21:55 +10:00
Manu Evans
78a17435ca C++0x (and friends) dialect support. Useful on machines with old compilers. 2017-11-29 14:15:25 -08:00
Tom van Dijck
3f0aa55e8b sometimes due to ordering of test, we're in a rule scope, which makes settings some of the values into configsets illegal.
So we just force ourselves into a project scope.
2017-10-16 16:43:02 -07:00
R. Blaine Whittle
b88d4eff3e [core] path:join can now be deferred for those paths that execute lua
prior to this change, paths that begin with ${ } were sometimes assumed to
be either absolute or relative.  new functions have been added in order
to reduce the number of systems that can break.

new functions are

path:absolutetype -> similair to isabsolute but can return an unknown or maybe result
path:deferredjoin -> similair to path:join but creates a string for unknown absolute
	paths which we except to be generated at bake time
path:hasdeferredjoin -> predicate to determine if a path needs to be evaled for
    	a deferred join
path:resolvedeferredjoin -> resolves a deferredjoin path to an actual path
    	this is to be called after any %{} replacements occur.

right now all api path types use the deferredjoin code path and
detoken, solution:makerelative and project:makerelative have been updated
to use resolvedeferredjoin.

unit tests have been created to test the four new path functions.
added unit tests
2017-10-04 09:53:00 -07:00
Thomas Desveaux
49061141ef Fix context.mergeFilters 2017-09-06 14:44:42 +02:00
Tom van Dijck
b8df7985e8 Allow tokens to start with a ! to disable making paths relative. 2017-08-28 16:03:06 -07:00
Samuel Surtees
5a75b7e488 Merge pull request #872 from starkos/quiet-binmodule-test-output
Rework binmodule example to silence unit test console output
2017-08-11 12:48:34 +10:00
Jason Perkins
e2a49986ee Disable failing os.findheader() unit test on macOS 2017-08-10 14:55:16 -04:00
Jason Perkins
c3b0da7894 Rework binmodule example to silence unit test console output 2017-08-10 14:40:45 -04:00
Tom van Dijck
e0cbecd100 Remove "test.print" calls. 2017-08-07 09:26:07 -07:00
Tom van Dijck
74819eb945 Merge pull request #854 from Blizzard/high-warning
[core] Add High as a new warning level
2017-08-01 11:09:40 -07:00
Tom van Dijck
d4dd8dd585 Merge pull request #857 from Blizzard/fix-action-override-targetos
Fix action override targetos
2017-08-01 11:03:17 -07:00
Tom van Dijck
e430bdfef9 I've seen this test fail a few times in the past, but only on CI...
adding prints to see what we get, so we may find the issue in the future.
2017-08-01 10:09:32 -07:00
Tom van Dijck
041d01bb21 Fix action (#138)
* Fix unit-test correctly setting action.
2017-08-01 10:01:01 -07:00
Patrick Doane
e49b404d73 [core] Add High as a new warning level
Maps to /W4 on VS and -Wall for gcc/clang removing -Wextra
2017-08-01 09:56:00 -07:00
Tom van Dijck
36f835f313 Proof of concept for binary modules. 2017-07-04 19:19:23 -07:00
Tom van Dijck
6752ea16e4 Added option to create bundle and frameworks on macOS. 2017-06-21 09:53:56 -07:00
Tom van Dijck
fd41938832 Add toolset normalization, to stabilize the 'filter'. 2017-06-20 10:58:55 -07:00
Tom van Dijck
3f2f40c5fa Move VStudio action into a module. 2017-06-19 13:12:05 -07:00
Tom van Dijck
22cebb4dfa Merge pull request #816 from Blizzard/fix-cpp17-flags
Fixed C++17 flag to work with current versions of Clang.
2017-06-19 13:09:59 -07:00
Tom van Dijck
05cf8d3c7f Make module of 'gmake' action. 2017-06-19 12:15:13 -07:00
Tom van Dijck
7b9ff9f840 Update to Lua 5.3.4 2017-06-19 12:11:49 -07:00
Tom van Dijck
e007c344a8 Merge pull request #808 from Blizzard/rtti-per-file
Added per file rtti generation for Visual Studio
2017-06-18 15:12:59 -07:00
Tom van Dijck
4619b18053 add test 2017-06-18 15:09:50 -07:00
Tom van Dijck
0e1db71d7c add test 2017-06-18 14:55:20 -07:00
Tom van Dijck
d9faf2ea3f Merge pull request #810 from Blizzard/masm-seh
Added masm handling of seh exception handling for VS2010 and above
2017-06-18 14:42:27 -07:00
Tom van Dijck
12622af3ad add test 2017-06-18 14:38:21 -07:00
James Touton
a6cf05295a Fixed C++17 flag to work with current versions of Clang. 2017-06-14 13:14:34 -07:00
Tom van Dijck
5251432aec Add support for cppdialect in VS2015 & VS2017 actions. 2017-06-14 13:04:59 -07:00
Tom van Dijck
6907f6785c Merge pull request #718 from Blizzard/add-notset-characterset
Adding support for NotSet characterset in VS2010+ (#79)
2017-06-13 14:25:13 -07:00
Tom van Dijck
21631dd0e9 Adding tests, and fixing a few typos. 2017-06-13 12:11:54 -07:00
Tom van Dijck
ef5828404c ASCII instead of NotSet, and add more tests. 2017-06-13 11:46:35 -07:00
Tom van Dijck
6841eb1752 [core] Allow filters to be written as:
```lua
filter {
    files  = { "**.c" },
    system = "windows"
}
```
2017-06-13 08:39:47 -07:00
Tom van Dijck
6437cfddd9 Merge pull request #788 from Blizzard/os-tags
Provide a way to 'tag' systems, and filter on those tags.
2017-06-13 08:32:42 -07:00
Renaud Guillard
c926aa2dd1 update tests to reflect pch generation rule changes 2017-06-02 20:44:48 +02:00
Tom van Dijck
838c256686 Merge pull request #779 from noresources/findheader
add os.findheader()
2017-05-25 08:46:15 -07:00
Tom van Dijck
c5c3cd5b2c Merge pull request #776 from Blizzard/dialect-language
[core] Use 'cdialect' and 'cppdialect' instead of 'language'.
2017-05-25 08:43:53 -07:00
Tom van Dijck
0ec61b41c6 Merge pull request #771 from Blizzard/compileAs-API
[core] Use 'compileAs' API
2017-05-25 08:43:35 -07:00
Tom van Dijck
70e00883f8 Provide a way to 'tag' systems, and filter on those tags. 2017-05-19 14:50:47 -07:00
Renaud Guillard
38bbf60993 test: disable os.findheader() on windows 2017-05-13 23:01:25 +02:00
Renaud Guillard
9eba1e7fb6 add os.findheader() 2017-05-06 00:00:51 +02:00
Tom van Dijck
863b89625f Merge pull request #769 from Blizzard/cmdpath-token
[core] new cmd path decorations with %[] syntax
2017-05-04 10:28:19 -07:00
Sam Surtees
43824fa22c Added support at the file level for the NoPCH flag in VS200x projects 2017-05-05 02:20:45 +10:00
Tom van Dijck
7af2817869 [core] Use 'cdialect' and 'cppdialect' instead of 'language'. 2017-05-03 17:05:11 -07:00
Tom van Dijck
85b3e28de1 [core] Use 'compileAs' API 2017-05-02 14:09:06 -07:00
Samuel Surtees
347c9c418d Merge pull request #768 from Blizzard/fix-vstudio
[core] Fix Visual Studio ExecutablePath settings.
2017-05-03 02:35:55 +10:00
Tom van Dijck
289e880b38 Add tests for ExecutablePath. 2017-05-02 09:15:42 -07:00
Tom van Dijck
f1d461f3a5 Add test for multiple tokens. 2017-05-02 09:09:38 -07:00
Tom van Dijck
fcb76a1c91 [core] Don't set default entrypoint, rely on visual studio default. 2017-05-01 14:33:32 -07:00
R. Blaine Whittle
bce3f2c4ed [core] new cmd path decorations with %[] syntax
this is for marking cmd options as paths relative to the
projects base dir. decorated paths can use tokens / macros
decorated paths are wrapped with "".  Final slashes are
honored. Slashes are platform specific.

Note that the working dir for custom cmd is undefined as
the current working dir will be different between xcode (wks.location)
and visual studio / make (prj.location.)  Changing the CWD isn't
a good default behavior (for reasons.)  This leads to prior
use of premake requiring alot of string concating / function calls
for path translations which make the cmd line difficult to read and maintain.
With path decorations, one can just make those relative paths with %[]
and everything should work.
2017-05-01 12:18:52 -07:00
Sam Surtees
43da317fe8 Removed echo off in VS rules prop generator 2017-04-28 00:48:21 +10:00
Sam Surtees
b251234b27 Cleaned up inconsistencies in whitespace 2017-04-26 03:40:43 +10:00
Sam Surtees
fa3328440e Increased consistency of p. usage 2017-04-25 16:41:30 +10:00
Tom van Dijck
473b2f1e36 Merge pull request #734 from aleksijuvani/nuget-fixes
NuGet fixes
2017-04-24 13:43:41 -07:00
Tom van Dijck
b3ad14a51c current -> host. 2017-04-24 13:01:31 -07:00
Tom van Dijck
5f589ad5a6 replaced:
os.get() -> os.target()
os.is() -> os.istarget()
_OS -> _TARGET_OS

added:
os.current()
os.iscurrent()
2017-04-24 13:01:31 -07:00
Tom van Dijck
88d37b17c6 Merge branch 'master' into nuget-fixes 2017-04-24 12:59:41 -07:00
Jason Perkins
f474f51979 Merge branch 'master' into ssurtees/vs2010EscapeFixes 2017-04-24 14:46:06 -04:00
Jason Perkins
b2414be6e4 Merge branch 'master' into ssurtees/vs2010EscapeFixes 2017-04-24 14:37:52 -04:00
Sam Surtees
5b688cac93 CompileAs element handles C++ now
- Added tests
2017-04-24 00:42:48 +10:00
Sam Surtees
537392428d os.translateCommands now supports multiple tokens 2017-04-20 02:05:39 +10:00
Sam Surtees
dfee2c0184 Fixed erroneous escape usages in VS2010+
- Added tests for sensible escape usage locations (defines, not undefines or warnings)
2017-04-18 01:13:56 +10:00
Aleksi Juvani
368ef42976 Respect copylocal for NuGet packages 2017-04-14 13:42:35 +03:00
Aleksi Juvani
8286a7b9b6 Add nugetsource API for custom package sources
Non-gallery sources (such as NuGet.Server) are currently unsupported due
to API limitations.
2017-04-14 13:42:33 +03:00
Aleksi Juvani
df6c1f4aab Add test for multiple assemblies in C# NuGet packages 2017-04-14 13:42:30 +03:00
Aleksi Juvani
3bdf746fcc Fix C# NuGet tests 2017-04-14 13:42:29 +03:00
Aleksi Juvani
b2bbf00512 Fix NuGet packages.config generation
This was generated on a per-solution basis when one needed to be
generated for each project.
2017-04-14 13:34:38 +03:00
Samuel Surtees
ba9c89e5d6 Merge pull request #736 from LORgames/ssurtees/vs2010FloatingPointFix
Fixed issue where VS2010+ projects didn't support floatingpoint 'Default'
2017-04-11 22:02:43 +10:00
Aleksi Juvani
c619314a01 Add tests for string.escapepattern 2017-04-10 14:37:47 +03:00
Sam Surtees
a24f5c1e9b Fixed issue where VS2010+ projects didn't support floatingpoint 'Default' 2017-04-10 01:51:30 +10:00
Jason Stewart
f3dae94aca Fix VS2013 and older always rebuilding when debug symbols explicitly disabled
Visual Studio versions 2013 and older have an issue with
DebugInformationFormat set to None. The project will always be out of
date and thus always rebuild. The workaround is to leave the
DebugInformationFormat field blank.

https://connect.microsoft.com/VisualStudio/feedback/details/833494/project-with-debug-information-disabled-always-rebuilds

VS2015 and newer do not have this issue.
2017-04-06 07:51:04 -04:00
Aleksi Juvani
479d51af81 Add JSON API (#729)
* Add JSON API
2017-04-04 09:02:59 -07:00
Damien Courtois
7d7266656e fixed debugargs to allow duplicated arguments (#712) 2017-03-17 08:34:03 -07:00
Jusonex
b2ec8b1b9a Use Schannel instead of mbedtls on Windows to avoid bundling CA certs
Also added a test that fails on the previous commit
2017-03-08 22:48:40 +01:00
Nikola Sprljan
d80e174774 Replaced Windows registry locations with the ones that should exist for all users, including the System one. This is to support running of unit tests in CI environments. (#697) 2017-02-21 09:16:22 -08:00
Rory
6cb6f4a678 Add support for changing the debug information for Visual Studio 2017 files to DebugFull. The default for VS2017 (i.e. when debug information is set to 'true') is to use fastlink. There is a new option to use a full pdb file. For older versions of Visual Studio, the new 'Full' symbols option behaves like 'On'. (#694) 2017-02-13 09:02:02 -08:00
Tom van Dijck
5a4ad51aec Define _HAS_EXCEPTIONS=0 when exceptionhandling is "off". (#674)
* Define _HAS_EXCEPTIONS=0 when exceptionhandling is "off".

* Fix unit-test.

* It should be for VS2013 and later only.

* update & add unit-test.
2017-02-03 07:05:23 -08:00
Tom van Dijck
0a7b45ce17 bring os.getversion() on par with the present (#688)
* bring os.getversion() on par with the present

* Use non-deprecated API's for Windows.

* Use Apple official names for MacOSX.
2017-02-01 09:19:13 -08:00
Tom van Dijck
6f7d0c16da intrinsics api. (#683)
* intrinsics api.

* add options to msc.lua
2017-02-01 09:06:31 -08:00
Tom van Dijck
8015673f40 functionlevellinking api. (#681)
* functionlevellinking api.

* add options to msc.lua
2017-02-01 08:57:32 -08:00
Tom van Dijck
b76bef918d floatingpointexceptions api. (#684)
* floatingpointexceptions api.

* generate options for msc
2017-02-01 08:53:49 -08:00
Tom van Dijck
ac2919e74c stringpooling api. (#682)
* stringpooling api.

* add options to msc.lua
2017-02-01 08:47:50 -08:00
Tom van Dijck
aae8917042 Merge pull request #687 from tvandijck/os_regkey
Windows Registry
2017-01-31 13:11:21 -08:00
Tom van Dijck
9336b1d9df rename os_getreg to os_getWindowsRegistry 2017-01-30 09:29:01 -08:00
Michael Savage
ea76aa24f7 squash: fix C++ tests 2017-01-05 16:34:30 +02:00
Justin O'Dell
7bad45325f Windows Registry
- Added a new os command `getreg` which takes a registry path and returns the value or nil
2016-12-28 07:43:54 -08:00
Jason Perkins
1f5976e3ed Omit NMake defines and include dirs when kind is "None"
"None" projects, by definiton, are never built, so these settings are unnecessary. Omit them so that changes to their value will not cause the generated project to change.
2016-12-19 10:09:30 -05:00
Samuel Surtees
1ed7b0c3fe Merge pull request #637 from starkos/fix-vs2015-link-symbols
Fix VS'15 <GenerateDebugInformation> to match Update 3
2016-11-25 18:12:30 +10:00
Jason Perkins
9017431249 Fix VS'15 <GenerateDebugInformation> to match Update 3 2016-11-23 16:00:05 -05:00
Jason Perkins
c6e400916e Fix MSC flags broken by PR #623 2016-11-23 15:50:45 -05:00
Tom van Dijck
5bb7c54e3f Add support in csproj backend to add files to certain configurations. 2016-11-22 09:45:02 -08:00