Skip to content

Sharpmake 0.14.0

Compare
Choose a tag to compare
@belkiss belkiss released this 11 Jun 14:56

Important notes

This version changes the way the vs overrides work, especially with vs2019.

New features / improvements

  • [WindowsSDK] Add helper to auto detect highest installed windows sdk instead of using hardcoded version.
  • Add support for CPP 17 in Xcode
  • In new NetCore project .csproj, we can support multiple DotNet framework in the same .csproj. When finding multiple frameworks, Sharpmake will automatically switch to new netcore projects schema to properly support multiple framework configuration. We had to tweak .sln generation to avoid duplication in configuration name in that case, MSBuild support compiling all targets for a configuration name.
  • Add a new extension method to retrieve the vcTargetsPath and vcInstallDir keys to use per devenv in the vcxproj files
  • Add new utility method to retrieve the default devenv corresponding to a platform toolset. Will return null if unknown.
  • Add new extension method to retrieve the VCTargetsPath corresponding to a devenv
  • Add an accessor to know if the kits root for a particular devenv has been overriden
  • Add a new untyped option container, to allow an option to take whatever as argument, like another option
  • Make the GetLLVMOverridesSection method public so it can be accessed from platform modules
  • New FastBuildSettings option: FastBuildNoSummaryOnError, false by default

Bug fixes

  • Fix systemIncludes in vcxproj in case no include path was previously set
  • Fix discrepancies between MT and non MT generations.
  • Stop parsing of sharpmake files in case the first line begins with namespace
  • [Scripts] Reset console color before running scripts that change console color on completion.
  • Fix ResolvedDependsFiles, it shouldn't contain TargetCopyFiles
  • Fix dynamic library dependency when you change OutputExtension option
  • [FastBuild] Fix Link of IosApp for FastBuild conf
  • Use the versionned VCTargetsPath variable in case vs is overriden to get the correct props/targets imported.
  • Experimental! In vcxproj, in case we've overriden the vs install, set the variable in the vcxproj to disable installed VCTargets use.
  • Change the way Vc overrides work with vs: we don't write the global VCTargetsPath anymore, since this is very error prone
  • Use proper devEnv value when retrieving the CppPlatformFolder