Commit Graph

1116 Commits

Author SHA1 Message Date
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
Tom van Dijck
94ab7bbb64 Merge pull request #634 from starkos/fix-default-rule-var-kinds
Default rule variables to string when `kind` is not set
2016-11-22 09:09:55 -08:00
aleksijuvani
f337abb776 Add tests for linkbuildoutputs API 2016-11-22 13:50:26 +02:00
Jason Perkins
cf87c66ec1 Default rule variables to string when kind is not set
Because this is the most common case, we've been treating variables with no `kind` as an implicit string value.
2016-11-21 13:37:08 -05:00
Tom van Dijck
ca89c9d79b Fix for debugInformationFormat handling with FastLink. 2016-11-07 09:44:47 -08:00
Sam Surtees
ac88483ccc Added a test dot file instead of relying on .gitignore to be shipped
Fixes #595
2016-11-03 21:22:42 +10:00
Samuel Surtees
e91bc6d57e Merge pull request #610 from mikisch81/vstudio-makefile-proj-includes-defines
Apply includedirs and defines for makefile projects in Visual Studio
2016-11-03 20:15:26 +10:00
Samuel Surtees
ecc0d0b739 Merge pull request #608 from mikisch81/fix-vstudio-staticlib-deps
VStudio: Add additional deps & additional libdirs for static lib
2016-11-03 20:10:10 +10:00
Samuel Surtees
2e74dd464f Merge pull request #605 from LORgames/ssurtees/fixedObjdirsPrefixCode
Fixed bug with objdirs prefix code '!'
2016-11-03 19:23:05 +10:00
Sam Surtees
e8789acbe7 Added ability for duplicate build commands to be specified. Fixes #540 2016-11-03 19:16:37 +10:00
Michael Schwarcz
3444ef8e04 Apply includedirs and defines for makefile projects in vs
- This will help Intellisense when viewing makefile projects on Visual Studio
2016-11-01 13:17:09 +02:00
Michael Schwarcz
5f7e7b6802 Added tests 2016-10-31 09:38:11 +02:00
Sam Surtees
c543565f73 Fixed bug with objdirs prefix code '!'
- Fixed flawed tests that manipulated the actual result before testing it
- Added test to ensure prefix code '!' works
2016-10-28 01:53:55 +10:00
Sam Surtees
c6af364311 Fixed bug where path.normalize was being overzealous with removing instances of ".." breaking paths. Fixes #579 2016-09-21 01:40:27 +10:00
Tom van Dijck
dd3cbd3feb add a case to test parent flags... 2016-09-06 11:54:04 -07:00
Tom van Dijck
1559c15ee0 workaround for https://github.com/premake/premake-core/issues/572 2016-09-06 11:27:45 -07:00
Tom van Dijck
72e30c9fd8 Merge pull request #546 from Blizzard/update-curl-mbedtls
Update curl and use mbedtls instead of openssl.
2016-08-31 17:25:09 -07:00
Tom van Dijck
f56f713b99 Add tests for http.get 2016-08-30 12:06:06 -07:00
Nils Moehrle
8e37cac91b Only normalize paths within os.execute (c.f. #320 akaStiX/premake-core@369c5ab) 2016-08-25 16:46:22 +02:00
Tom van Dijck
d2580bab86 Adding some tests. 2016-08-22 16:06:55 -07:00
Tom van Dijck
7fc49130ea Merge pull request #543 from noresources/macosx-no-arch-libdirs
do not add architecture-dependent library directories on macOS
2016-08-18 08:11:21 -07:00
Tom van Dijck
113b717d22 Merge pull request #401 from yuyoyuppe/link-mode-prefs
Link mode preference
2016-08-17 09:49:22 -07:00
Tom van Dijck
fbd2c40bf6 Merge pull request #525 from Blizzard/FastLink
Adding /Debug:FastLink support for VS2015.
2016-08-17 09:38:52 -07:00
Joao Matos
e06218c885 use rpaths & soname/install_name to link sibling shared libraries on OS X and Linux
new api runpathdirs().
	<toolset>.getrunpathdirs() adds user defined rpath set using runpathdirs().
	handle runpathdirs in gcc, clang and snc.

make.list() can now add quotes to list elements

Original patch by Renaud Guillard (@noresources).
2016-08-17 16:48:41 +01:00
Jörn Heusipp
8afb5e8ffa Add test to verify that vectorextensions "IA32" emits nothing with vs2010. 2016-08-08 11:37:32 +02:00
Jörn Heusipp
34b4b2021d Add test for vectorextensions "IA32". 2016-08-08 11:10:47 +02:00
Tom van Dijck
6971902731 Adding /Debug:FastLink support for VS2015. 2016-07-28 16:01:13 -07:00
Renaud Guillard
b7bdfb258d add tests 2016-07-28 21:33:27 +02:00
David Ely
d3d8269e7a symbols api introduced and working, with tests. 2016-07-19 16:29:26 +10:00
Tom van Dijck
5b24ad2c94 Merge pull request #503 from Blizzard/linkgroups-api
https://github.com/premake/premake-core/wiki/linkgroups
2016-06-10 10:42:03 -07:00
Tom van Dijck
2e8a26df5c Fix usage of bit32.arshift
added unit-test
2016-06-09 18:12:06 -07:00
Tom van Dijck
2a67664fda linkgroups api. 2016-06-08 11:27:13 -07:00
Jason Perkins
e0e988eccb Move testing framework into a core module 2016-05-16 16:32:35 -04:00
Tom van Dijck
1696a65dff Merge pull request #496 from starkos/unit-test-fixes
Catch older unit tests up to the latest standards
2016-05-12 17:41:13 -07:00
Jason Perkins
e6bfd500b0 Catch older unit tests up to the latest standards 2016-05-12 19:56:04 -04:00
paskal
1227d5c620 Fixed testing of filtering. 2016-05-08 01:35:06 +02:00
paskal
be9f5c079e Merge commit 'bf94b638f36f996b1ad208cf5fbb564890650704' of https://github.com/tritao/premake-core 2016-05-03 11:03:47 +02:00
Samuel Surtees
5373584834 Merge pull request #475 from starkos/fix-no-nuget-packages
Only output NuGet project element if packages were listed by the project
2016-04-14 19:16:41 +10:00
Jason Perkins
10b83b950f Only output NuGet project element if packages were listed by the project 2016-04-13 18:55:44 -04:00
Sam Surtees
5059099a5b Added systemversion API. Fixes #315 2016-04-12 21:10:23 +10:00
Jason Perkins
002e65d428 Merge pull request #453 from aleksijuvani/nuget-in-vs-exporter
Add NuGet support to the Visual Studio exporter
2016-04-11 13:30:49 -04:00
Tom van Dijck
da89636575 Test for .asm file support in visual studio action. 2016-04-07 12:52:58 -07:00
Tom van Dijck
cf1b44018c refactor file categorization in vcxproj backend.
and add Masm support.
2016-04-07 12:52:58 -07:00
Eyal Solnik
9d068901f9 Fix replaceextension from adding a leading dot
When an empty string was passed to replaceextension
as the new extension, it added a leading dot,
this update fixes/prevents it.
2016-03-29 20:15:19 +03:00
Eyal Solnik
82fd64e00c Fix getextension to handle paths w/ dot correctly 2016-03-29 10:02:49 +03:00
aleksijuvani
6059f8ff39 Change cs2005.assemblyReferences to use call arrays 2016-03-21 11:15:57 +02:00
aleksijuvani
ee521c4c57 Add tests for Visual Studio NuGet support 2016-03-19 20:43:38 +02:00
Jason Perkins
dbb42a0b77 Merge pull request #307 from LORgames/ssurtees/translatePathFix
Modify `path.translate()` to use target OS path separator by default
2016-03-17 12:13:55 -04:00
Jason Perkins
ef2f5c8945 Roll back PR #440; see discussion at https://github.com/premake/premake-core/pull/440 2016-03-15 14:48:33 -04:00
Samuel Surtees
495befbd7e Merge pull request #443 from starkos/isabsolute-allow-dot
Allow dot in path variables
2016-03-08 21:13:01 +10:00
Jason Perkins
5c3f2b8835 Some environments and toolsets allow additional characters within $(...) tokens. Adding the dot "." 2016-03-07 16:38:50 -05:00
Sam Surtees
a0242bb955 Cleaned up vstudio linker elements. Fixes #150 2016-03-01 22:11:33 +10:00
Sam Surtees
7886b04642 Added support for schema files in C# projects. Fixes #416 2016-02-29 21:39:32 +10:00
Sam Surtees
43dc8ccbcc Fixed issue with incorrect UUID being generated for groups. Fixes #100 2016-02-26 02:04:08 +10:00
Samuel Surtees
cd336b08fe Merge pull request #423 from Blizzard/link-groups
Link groups for gcc. (-Wl,--start-group)
2016-02-23 20:21:47 +10:00
Sam Surtees
d382228ceb Converted premake-core tests over to use premake.action.set() instead of _ACTION 2016-02-06 13:35:54 +10:00
Sam Surtees
f60a1b391f path.translate now uses the target OS separator by default instead of Windows separator. 2016-02-06 13:35:03 +10:00
Tom van Dijck
d387209ed4 fix "do_isabsolute", and add more tests. 2016-02-05 13:15:01 -08:00
Tom van Dijck
6377a30a6a Link groups for gcc. (-Wl,--start-group) 2016-02-05 09:54:30 -08:00