Releases: ubisoft/Sharpmake
Releases · ubisoft/Sharpmake
Sharpmake 0.20.0
New features / improvements
- [NuGet/C++] Add support for nuget packages in c++ * Rename existing PackageReference sample to CSharpPackageReference and add C++ version 281bd887
- [Linux|Bff] Add new linux SysRoot PathOption 263f8b62
- Add support for WarningsAsErrors for C# projects (#187) 85fc91cf
- [.NET Core] Add options for PublishSingleFile and PublishTrimmed (#181) 5b0d2de5
- Added support for FileVersion, Version, Product and Copyright fields in C# projects (#186) a0f691fa
- Add support for 'nullable' field in C# projects (#188) 2c2e0992
- Added support for Protobuf-includes in C# projects (#190) 487190da
- Added proper support for .Net Core/.Net 5.0 C++/CLI project support (#194) cf1c3f2c
- ClangForWindowsSettings : allow user to override LLVM's windows lib directory 1fcec5f4
- Add the possibility for a platform to register extra stamp events f424cac9
- Add an option FastBuildSupportLinkerStampList to FastBuildSettings, to indicate if the fastbuild exe that's used support multi stamping (that's a feature that's only in the internal fastbuild fork atm) f424cac9
- Use the extra stamp events on linux to strip debug symbol info, that will fix un-necessary rebuilds when cross compiling with FastBuild for linux f424cac9
- Inform msbuild to use static graph evaluation when restoring nuget packages, this should speed it up 41c6be9a
- Add a property to IPlatformDescriptor indicating if the platform invokes the compiler for the link, which means that linker arguments need to be prefixed wit -Wl, with clang for instance e3142832
- Support string macro of Android project 6608365f
- Bump actions/checkout from 2 to 3.0.2 bffe1027
- Use string macro directly on agde c56a17fc
- Enable string macro on agde 4cdc5e98
- [Linux] Add the option of stripping the debug symbols from the exe and keep them in a separate file a41b6f5f
- Bump actions/upload-artifact from 2 to 3 920aade8
- Bump actions/download-artifact from 2 to 3 59e49264
- Add support for Rust projects 8020f251
- Ignore case when sorting configurations in vsproj 867fe2f7
- [Bff] Ignore case when sorting individual files alphabetically 09c0ee38
- add support for buildMultitargeting and buildTransitive in AssetDependency e3a6eaab
- Added support for FrameworkReference-elements to support proper method of including ASP.Net See https://docs.microsoft.com/en-us/aspnet/core/fundamentals/target-aspnetcore?view=aspnetcore-5.0&tabs=visual-studio da7eb708
- Add support for the DefaultItemExcludes property in C# projects 6c7ab26a
- [Errors] Add type name to parameter not found exception to help diagnose issue quicker. 5f895fe6
Bug fixes
- [Bff] Fix undeclared config error when multiple master bff are used and project bff contain multiple platforms 6fe596c3
- [Linux|Vcxproj] Properly indent the vcxproj sections 260b72ab
- Fix map file generation on Apple platforms, map needs to be lowercase for ld to understand it 12a6c9d1
- fix: missing setter for conf.AddFastBuildProjectToSolutionCallback 42e14488
- fix: C language std in bff b98be87c
- Fixes an issue with Linux vcxproj generation. bffba15e
- [Android|Vsproj] Filter the list of configurations by platform to fix retrieval of options that must be identical across all configurations fc45e27a
- [Linux|Vcxproj] Improve conditional on the Globals property group to prevent polluting the x64 platform 3352f888
- Fix typos in PackageReferences.AssetsDependency 8f9f24aa
- Throw an error in case the platform toolset is not Default for Platform.agde f2aa5f80
- Fix Android AGDE MSBuild overrides f9cc7da9
- Fix base class call in Android platform 4f4791a1
- Fix Android AGDE CppLanguageStandard 8d66bd5b
- Make the Platform.agde comment follow xmldoc 7c5ec0bc
Sharpmake 0.19.1
New features / improvements
- Add support for mixed/partial .Net C++ projects 73ede621
- [LinuxOnWindows] Add an option to set the PlatformToolset instead of hardcoding Remote_GCC_1_0 a760cc3b
- [FastBuildAll] Propagate the first project conf options to the FastBuildAll conf ddde6211
Bug fixes
- Fixed issue with ApplicationIcon being written as absolute and not as relative. a17e80a4
- Fix remote debugging and remove platform test from Sharpmake's core to put it in the linux module instead ccc243ae
- Fix indentation and content of nmake vcxproj to closer match what VisualStudio does 9f9c4015
- Remove $(ProjectDir) from linux nmake template, since it's plain wrong 9f9c4015
- Make unix path conversion utilities public ee9f8b6c
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