Releases: ubisoft/Sharpmake
Releases · ubisoft/Sharpmake
Sharpmake 0.19.0
New features / improvements
- Add an option to allow the copy of pdb files to dependents even in Export projects 7b179a1b
- [GithubActions] Prettify the xcodebuild output 1c9ad2dd
- New xcode options (Single prelink) 3ac4925a
- Add a ForceGenerateFastBuildAll flag in Solution. bf2435d9
- Add FastBuildSettings.WorkspaceRoot, to optionally override the root directory under which paths can be expressed relative to one another in bff files (default is Project.RootPath). d15c5d15
- [New][Bff] Record the unity files in the auto cleanup db, so we can auto remove stale ones a0c127ea
Bug fixes
- [CI] Force use windows-2019 for functional tests and samples bfe983dc
- [Bff] Put the input files just after the output file in the linker node This can fix duplicate symbol issues when using lld-link that doesn't behave exactly as link when it comes to ordering 31e14856
- Fix WinFormSubTypes serialization eba20e8c
- convert CSProjSubTypeInfos fields to members 01a7d3bf
Sharpmake 0.18.3
Important notes
- Deprecate Solution.PerforceRootPath and Project.PerforceRootPath, scc info shouldn't be stored in project or solution files a7335d29
New features / improvements
- New experimental feature: allow skipping FastBuild projects from the solution when they are not really necessary The new behavior is activated by setting IncludeOnlyNeededFastBuildProjects to true in solution configure methods d4fefed1
- Make Sln.SolutionExtension public 751b5c0b
- Add support for VcxprojUserFile.LocalDebuggerAttach (#164) b061d7e6
Bug fixes
- Use master bff directory to compute customPreBuildExe, same as other steps 0f45d667
- Fix missing define in generated debug solution d54a2128
- Remove deprecated comment ac831efe
- Fix UpdateSamplesOutput.bat to use the net5 binaries. Ran it too, to update generated "reference" folders. 016ec11d
- Copy conf.FastbuildCacheAllowed and conf.FastbuildDistribution properties when generating FastBuildAll project. 2041aabf
Sharpmake 0.18.2
Sharpmake 0.18.1
Sharpmake 0.18.0
Important notes
- Starting with this release, sharpmake is now built with net5, and requires the related runtime to run.
- We still provide a .net 472 version just in case, but it is to be considered legacy
- With net5 we provide one sharpmake release per OS, since the executables are now native apps
- With net5, string.GetHashCode() will return a different result every time the app is ran. For that reason, we've introduced an extension method in sharpmake: GetDeterministicHashCode(), that keeps the old behavior
Deprecation warnings
- Deprecate old DotNetFramework that are not supported by MS anymore: 4.0, 4.5, 4.5 clientprofile (which didn't work since 4.5 didn't have a client profile version...), and 4.5.1 ea47e68f
New features / improvements
- Removed useless prebuild dependencies for fastbuild projects. 1a1c7d34
- Log the used/unused configuration in different formats in /diagnostics mode to help fix them 8a57ef92
- [C#] Add support for launchSettings.json and generate it by default instead of csproj.user in case the csproj use the new dotnet sdk format a2d891f9
- Make the CsprojUserFileSettings class resolvable so we don't need to resolve it manually when we read from it bf9ea4ef
- Disable dependent assemblies copy to the output dir in the functional tests. 0cc47207
- Disable dependent assemblies copy to the output dir in the samples. c3aa5d47
- Use the previously introduced GenerateDocumentationFile in sharpmake projects 784aada6
- [C#] Add project boolean option GenerateDocumentationFile, false by default fc766867
- Add .sh fles as items to Sharpmake solution ec79fb26
- Add Sharpmake.Main as None to the Sharpmake.Application project to make it easier to edit 5cf8129c
- Activate multi targeting, net472 and net5.0, and switch to net5.0 by default in all tests c40e1529
- Add support for multiple post-build stamping operations of one target output... Sharpmake/sharpmake!252
- Add a dependency to System.Text.Json nuget package when using net framework 4934480c
- Add a utility method to get a deterministic hash code from a string, since with net core the default one is seeded and changes at each run of sharpmake 7373e97f
- Enable determinism when compiling sharpmake and its modules 4cbe6944
- [SharpmakeSln] Instead of excluding sharpmake files from the projects, mark them as None so we can see them in the solution 8f72d027
- Lookup Sharpmake.References in the default references list, and warn in diagnostics mode if it's found, meaning it is redundant 95082165
- [SharpmakeSln] Change solution items from a manually maintained list to an automatic one, and add python files as well 7eccd47b
- Add support for Custom Property Groups in Fastbuild Sharpmake/sharpmake!250
- Add support for .NET 6 4ff515ba
- Add support for c# 10 fb06eb74
- Update nuget dependencies versions 4af9a919
- Add new entry to DotNetOS: maccatalyst c0257d63
- Adding gradle support and CI for android sample project (#143) 1bce1900
- feat(dotnet): add support for DotNetOSVersion on Configuration to tweak target framework version Sharpmake/sharpmake!245
- Add support for WinSDK 11 (10.0.22000) e9c9732f
- Initial support AGDE Sharpmake/sharpmake!239
Bug fixes
- [Vcxproj] Fix external warning tags, they need to be under the ClCompile and not the Configuration dbc23ace
- Add a comment warning that in csproj the file exclusions are matching the full path which can create discrepancies depending on source code location for end users cdf8007c
- Prevent All build from creating dependencies Sharpmake/sharpmake!218
- Remove sharpmake nuspec, unused b9fe08a3
- Fix typo in Intro.md f86a67f4
- Remove use of system assemblies and instead use the ones from Basic.Reference.Assemblies nuget packages eb1eb41e
- Update comments 03b72bb7
- Fix copy/paste error in functional_test python script, we were using a variable that doesn't exist... 5a9b370f
- Formatting fixes af245079
- Fix compilation with NET6 by creating crypto provider with the base class static methods 0edbf827
- Merge pull request #156 from kant/patch-4 84f70c22
- Fix AGDE project issue when override MsBuildPath and AdditionalVcTargets Sharpmake/sharpmake!248
- Fix #113: Fix multi-framework conditions Sharpmake/sharpmake!249
- Remove values from Obsolete DotNetFramework entries, and set them to error. 1f1c28b4
- Update copyrights 26528345
- Formatting and style fixes. 4944e3d4
- Merge pull request #152 from mundak/mundak/fastbuild_example b6b49842
- Merge pull request #150 from kant/patch-3 c0a2bb8b
- Merge pull request #149 from kant/patch-2 83fd5e45
- Merge pull request #148 from kant/patch-1 c3fc06ff
- Fix c/cpp language standard setting inconsistent for AGDE project Sharpmake/sharpmake!247
- Fix document format errors Sharpmake/sharpmake!244
- Disable compile HelloAndroidAgde action on github Sharpmake/sharpmake!243
Sharpmake 0.17.5
Sharpmake 0.17.4
Sharpmake 0.17.3
New features / improvements
- Add system includes from ILinuxSystemPathProvider to NMakeIncludeSearchPath for correct Intellisense support e59c1c1c
- Add CLanguageStandard/CppLanguageStandard to Linux MakeFile vcxproj for better Intellisense support e70b4cd0
- Add NMakeForcedIncludes support to MakeFile/FastBuild projects for better Intellisense support ab87c9a5
- Rename internal method to better match what it does 27306483
- Added support for IsPublishable C# project config item (#144) ad2715dd
- Make the Resolve method in Project virtual, override it from the CSharpProject so we can resolve some variables as path 2349b449
- Add extension .sharpmake.cs to tmp files 365c783e
- Log the name of the FastBuild project that's being added to the solution 87c5004d
Bug fixes
- Fix concurrency issue in ReportGenerated that could lead to a "key already existed in the dictionary" exception 5c8a3d2f
- [Bff] Prevent adding projects that we can't build or don't output anything to the FastBuildAll project alias 62b0b480
- Remove duplications from some lists in bff (most notably prebuild dependencies) 08bbfb71
Sharpmake 0.17.2
New features / improvements
- Verify that the fragment masks that are added can be applied on the target 147795a5
- Add a utility method ClearFragmentMasks, to allow resetting the fragment masks 8ed52a44
- Bump jurplel/install-qt-action from 2.13.2 to 2.14.0 (#140) c003b490
- Clarify logs level (Error, Warning, ...) Sharpmake/sharpmake!236
- [CSharp] Add support for warning level 5 with Options.CSharp.WarningLevel.Level5 3464e97b
- Add support for /external:I and associated options with vs2019+ f5d24c06
- Add new TranslateIncludes option in Options.Vc for vs2019+ 506aa1d2
- Add new CppLanguageStandard.CPP20 entry in Options.Vc to allow enabling C++20 in vs2019+ e1999e87
- Add support for Windows 10 SDK (10.0.20348.0), version 2104/21H1 68b55874
- Resolve conf.IncludeSystemPaths against the SourceRootPath, same as Include and IncludePrivate 333b13ca
- Bump Microsoft.CodeAnalysis.CSharp from 3.10.0 to 3.11.0 in /Sharpmake (#139) 62f11eb0
- Initial support for vs2022. 877113e0
- Add UseWpf / UseWindForms in C# projects options Sharpmake/sharpmake!234
- Add use of libuuid in the HelloLinux sample to showcase how to do it. 88a627b6
Bug fixes
- [XCode] Fix output and intermediate dirs Sharpmake/sharpmake!160
- Fix include system paths with non win64 platforms 9416e544
- Fix rc compilation with external includes, we now always use the includes prefixed with the default prefix 97c6212a
- [C#] Fix DotNetOS fragment handling and add a sample to demonstrate how to use it 1bca8c61
- Fix unit-test exception type e05948f2
- Fix: set AndroidAppLibName to TargetFileName Sharpmake/sharpmake!235
- [Makefile] Fix regression on library prefixes, we now fixup the lib names same as the other generators. 06cd508d
Sharpmake 0.17.1
New features / improvements
- [MasterBff] Try and figure out if the source of the postbuild copies is an output of one of the targets, and if so move the Copy node declaration after the node that defines it, and add it as a PreBuildDependency 5ebdfe3a
- Try and improve compile time of sharpmake and its tests in cmd line by passing /maxcpucount and /p:CL_MPCount to msbuild 21f3b2fe
- [FastBuild] Set FastBuildSettings.SetPathToResourceCompilerInEnvironment to true by default fd3e9fcb
- [FastBuild] Create a compiler node for rc.exe with the type custom 1d43dfb1
- bring back the code that supported the use of the LLVM Platform Toolset 465c2a94
Bug fixes
- Fixing custom build step generation for FastBuild bcbfdeef
- [Bff] Prevent the custom build steps from always running. If that becomes a requirement it needs to be implemented differently. 5f02688f
- [FastBuild] Quick and dirty fix for Masm ml64.exe not being recognized by FastBuild 92369798
- [Bff] Prevent generating the LibraryDependency Alias for the FastBuildAll project 70477004
- [Bff] Fix LibraryDependency nodes in case the library generation was skipped by the option UseLibraryDependencyInputs.Enable 7b677013
- [HelloClangCl] Add a use case for the UseLibraryDependencyInputs.Enable to make sure the issue we fixed at 7b67701 doesn't happen again 4257b4dd
- [Bff] Remove empty line in the Library node header 104e975a
- [Bff] Fix indentation of the first line in some nodes 6b8fda31