Integrates a large number of changelists developped internally. #39
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a cumulative patch that contains many fixes that have been submitted and approved internally.
General
Project.Configuration
andSolution.Configuration
.Project.AdditionalFiltering
virtual method so projects can implement custom file exclusion logic.Util.DirectoryGetFilesWithWildcards
.C++
<ApplicationEnvironment>
tag in Visual Studio project files.Options.Vc.Compiler.CreateHotPatchableCode
andOptions.Vc.Linker.CreateHotPatchableImage
.Sharpmake.Options.Vc.Compiler.RemovedUnreferencedCOMDAT
toRemovedUnreferencedCodeData
; marks the former deprecated.Sharpmake.Options.Vc.General.PreferredToolArchitecture
to select a particular version of the toolchain.Sharpmake.Options.Vc.General.NativeEnvironment
; usePreferredToolArchitecture.x64
for the old behavior.Sharpmake.Options.Vc.Compiler.RemovedUnreferencedCOMDAT
. It was already there, but it was never implemented in the generators code, and it is now enabled by default..NET
Project.ProjectReferenceType
to let Sharpmake scripts specify how NuGet packages should be listed. (project.json, packages.config,<PackageReference>
, etc.)Content.CopyToOutputDirectory
in internal ItemGroups to an enumeration.CopyToOutputDirectory
option for embedded resources.FileAssociation
andPublishFile
item groups.Util.GetWinFormSubTypeDbPath
public.<PackageReference>
.FastBuild
confSourceFiles
list is now ordered to get consistent platform grouping in FastBuild files.Bff.GetShortPlatformName
now usesSimplePlatformString
to name the platform. (Note that, for now, to avoid potential issues with naming, we only do that when platform is one the _reserved* flags.)-l:
.IPlatformBff.SetupExtraLinkerSettings
to take aProject.Configuration
as a parameter.Project.Configuration.FastBuildUnityCount
property should now fallback to an appropriate value.Project.Configuration.SourceFilesBlobExtensions
property.PostBuildTest
for running tests post-build. This is a generalist feature, but right now it is only supported for FastBuild.AdditionalResourceIncludeDirectories
in FastBuild.IsFileNameToLower
is enabled.CompilerSettings
sections in the global-settings file to make it deterministic.Tests & Diagnostics
StopwatchProfiler
.Util.DirectoryGetFiles
andDirectoryGetDirectories
so that those ignore the filter and search option whenFakeTree
(used during unit tests) is used.Samples
Others
[Sharpmake.Include(...)]
attribute would be compiled twice if it's referred more than once but with different casing.Util.GetWinFormSubTypeDbPath
.Trace
instead ofDebug
to log debug information, so that Sharpmake can be debugged in Release.