Skip to content

Releases: ubisoft/Sharpmake

Sharpmake 0.23.0

20 Jan 15:10

Choose a tag to compare

New features / improvements

  • Support AGDE PreApkInstallCommands and PostApkInstallCommands 8657f305
  • Update LangVersion to C# 10 7e26d9a0
  • Feature: Add platform 'catalyst' (for Mac Catalyst) f2970224
  • Add support for tagging a shared object with a build id. 492c1dda
  • Feature: add platform watchOS e0342e72
  • Feature: Add platform tvos 345212c8
  • Introduce cleanup context for debug solution 307f743b
  • Refactor: add DevEnv.xcode to replace DevEnv.xcode4ios 340374b5
  • Add portable debug types for C# projects ae9bff3f
  • feat: Support GenerateBindingRedirectsOutputType option 03d1331f

Bug fixes

  • Restore original value for DebugType.None 4a40634e
  • avoid folder hierarchy messing up and the wrong filename in the project c9ec5bba
  • support to get SystemFrameworks from dependencies 2809f72e
  • Mark enum value DevEnv.xcode4ios as obsolete and throw error when used 6de8dadb
  • Skip tests samples updating of reference files for tests not used in regression tests. 90f795d4
  • Fix sharpmake execution for helloclangcl in github ci. ce5f1cff
  • Fix missing nuget package reference when the Target Framework contains an... 6dfcc05e
  • Cache some extensive file/directory.exists improving /diagnostics performance. ff268e6f

Sharpmake 0.22.2

14 Dec 20:13
0.22.2

Choose a tag to compare

New features / improvements

  • Optimize PlatformRegistry 1312a94f
  • Project.Configuration.BuildDependencyNodeTree optimization d3c803d2
  • Optimize Targets.Initialize() a6350270
  • Optimize Bff.Generate() 429755b7
  • Minor optimization in MasterBff.Generate() 1d25bf72
  • Refactoring of IFileGenerator and FileGenerator interface 3f8604e3
  • Optimize Project.GetConfiguration() 140a11a1
  • Testing ServerGC is active. 37fa5f27
  • Util class methods optimizations 25af50f7

Bug fixes

Sharpmake 0.22.1

07 Dec 16:51
0.22.1

Choose a tag to compare

New features / improvements

  • Do not link or reference dotnet build-order dependencies 723c8384

Bug fixes

  • restore options["ExecutablePrefix"] related code to make sure output dynamic library with proper prefix 25bdd507
  • Fix ios input fullnamespec lib a6b60e12
  • Fix intellisense errors in Visual Studio when using clang compiler and nmake projects. 983ce1cc
  • Fix sample dependencies. deca2ebd

Sharpmake 0.22.0

23 Nov 15:38
0.22.0
001f502

Choose a tag to compare

Important notes

Sharpmake executable is now built using .net6 and cannot be built with .net framework anymore.

New features / improvements

  • Preparation for some upcoming refactoring in IFileGenerator and FileGenerator. 5f6db7e2
  • Add basic support for using net 7.0 in target fragment a7644ff6
  • Updated UpdateSampleOutput batch file to use .net 6.0 executable 1c6652c6
  • Sharpmake is now using .net 6.0 instead of .net 5.0 e9b72682
  • Kill .net 4.7.2 version of sharpmake and some related refactoring 8c215bf5
  • Switch to using server garbage collection for sharpmake application, for some nice speedups a36bfa45
  • Add build assembly/reference support in Builder/Assembler f7aba1ce
  • Add FastBuild UnityInputIsolateListFile support 11d58824
  • Add precompiled header output file name 36c48fbe
  • Add missing CppLanguageStandard.CPP20 for NMake Intellisense helper. a69628fb

Bug fixes

  • Fix for handling multiple files with same names 413fee42
  • Fix generated iOS project can't be loaded issue 9deb6a92
  • fix the first path separator might miss in PathUtil.FindCommonRootPath() on unix-like os 0461670f
  • Fix unit test for CLR projects e9ae348d
  • Wrap custom command in quotes when using MSBuild 9120c431
  • Fixed support of RTTI flag in CLR project 823ed2e1
  • fixed DebugProject.ProjectPath 9818883c

Sharpmake 0.21.1

19 Aug 06:18
0.21.1
f1234fb

Choose a tag to compare

New features / improvements

  • Update dependency to Newtonsoft.Json in PackageReferences sample to make Github security happy 023fa25d
  • [DebugSolution] Improve file sorting in the debug projects 69f48ab0
  • Add new utility method to find the common root path in a list of paths 61acf806
  • [Linux] Add new option to choose the C++ Standard Library to use: Linux.Options.General.StdLib 1425773e
  • Added apk name to fastbuild properties of agde fastbuild project file df08e4a5
  • added a /debugSolutionDevEnv cmdline to be able to customize the devenv... e39e31c1
  • support cpp20 for Xcode c9d24243
  • Add new Default entry for OpenMP option, to get the default compiler option and not write it in either bff nor vcxproj b5956f2a

Bug fixes

  • Change implementation of Solution.Configuration.IncludeOnlyNeededFastBuildProjects to fix inconsistencies in sln and masterbff 4901d0bb
  • Fix arguments when debugging the functional tests from the sharpmake solution 00d29217
  • Ignore duplicated dll when present in the dotnet runtime 88e71724
  • Remove duplicate implementation of option XCode.Compiler.LibraryStandard 33c92c44
  • CI: Disable HelloAndroid until we find time to fix it following Github VM update f017b198
  • Fix the intellisense NMake parameter for C++17 04ba1128
  • Fix vs2022 override, RTM version started using the proper toochain version in VCInstallDir dd9358b9

Full Changelog

0.21.0...0.21.1

Sharpmake 0.21.0

07 Jul 12:49
0.21.0
2fd4786

Choose a tag to compare

New features / improvements

  • Fix determinism in UnityResolver and introduce FragmentHashUnityResolver 69a9d688
  • [CI] Update Android build-tools version when symlinking dx.bat and dx.jar 36c74111
  • [AndroidSample] Update Gradle to 7.0.2, and remove now un-necessary workaround in the CI (symlinks of d8 to dx) - Replace/remove deprecated properties - Use JAVA11 96cbae21
  • [Android] Disable LTO by default on all optimizations 086298d5
  • Initial AGDE FastBuild support 2b0a96d2

Bug fixes

  • [AndroidAgde] Multiple fixes for Android AGDE 4d5de640
  • [AndroidAgde|FastBuild] Fix librarian used with NDK above 22, as GNU binutils were removed we need to use LLVM binutils ff7c8e51
  • Fixed linking of shared libraries with AGDE 4067dace
  • Fixed constant recompiling issue with agde 59c3a162

Sharpmake 0.20.2

13 Jun 08:02
0.20.2
154af26

Choose a tag to compare

New features / improvements

  • [Vcxproj] Add a property in conf to allow disabling the vc overrides when writing some vcxproj 83e8d148
  • Propagate WriteVcOverrides to FastBuildAll project 3244b755

Bug fixes

  • Fix android build by removing inclusion of android native app glue 6d89058f
  • [Android] Fix compatibility of VS2019 props with recent NDKs by forcing HostTag 206808e7

Sharpmake 0.20.1

06 Jun 14:14
0.20.1
1809504

Choose a tag to compare

New features / improvements

  • Add support for WinSDK 11 22H2 (10.0.22621) f5917635

Bug fixes

  • custom pre-build steps ids were broken between the consumer and definition d16f0be7
  • [Bff|Linux] Fix regression when sysroot option is not used, the LinkerOptions was removed from the bff, creating errors 6d8a0bd5

Full Changelog: 0.20.0...0.20.1

Sharpmake 0.20.0

25 May 12:50
0.20.0
8f42be5

Choose a tag to compare

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

21 Mar 14:06
0.19.1
eab7d8b

Choose a tag to compare

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