Skip to content

Sharpmake 0.15.0

Compare
Choose a tag to compare
@belkiss belkiss released this 15 Feb 14:27

Important notes

  • This release of sharpmake is one of the most important we've ever done since
    we switched to roslyn to allow support for recent C# versions (up to version 7) in your sharpmake files!

  • Support for double quotes when invoking sharpmake will be dropped soon, so please replace them with single quotes as soon as possible.

    For example:

      Sharpmake.Application.exe /sources("main.sharpmake.cs")
    

    needs to be changed to

      Sharpmake.Application.exe /sources('main.sharpmake.cs')
    

New features / improvements

  • Make functional tests use vs2019 instead of vs2017 650bb8fa
  • Log more info on boot fc9c4fcf
  • Add support for Visual Studio 2019 /std:c11 and /std:c17 switches 4baf7e70
  • Add a way to copy to a subfolder in target path
  • Expose FASTBuild reproducible builds-related options in Sharpmake
  • Warn only on missing exclude
  • Print full FrameworkDisplayName on startup if possible. 4355cefb
  • Use new csproj file format for sharpmake and the debug project 9e90198d
  • Allow passing an optimisation to boostrap batch file a9a797f4
  • Improvements in utility methods on non windows platforms d328150e
  • Use RunningOnUnix instead of Mono to determine whether to lower the path or not in PathMakeStandard, which was the original intention 472d3ccd
  • Remove dependency to Microsoft.Build.Utilities.Core, and only consider one dotnet framework directory as source 04870612
  • Add a global SharpmakeDotNetFramework following the same principle as the c# version 7616310a
  • Minimal support globbing for csproj
  • Add linux binary of FastBuild 1.01, and adapt scripts 442eb155
  • Make Project.AfterConfigure virtual to allow user to override it, and be consistent with PreConfigure which is already virtual. c916d626
  • Improve dotnet Sdk support 4d648be4
  • Silence the warning if a kitsroot path is not found. 9bb8a20a
  • Use single quotes instead of double quotes in debug project start arguments since they are cross platform. 4dec87b0
  • Bump verbosity of the msbuild command used to build sharpmake to minimal instead of quiet 75add8cb
  • Add a global constant that contains the c# version sharpmake scripts support, c#7 at the moment 1626b49c
  • Add a release optimization in the debug solution, and add the newly created /debugScripts to the arguments in debug aa20a960
  • Add a new command line argument /debugScripts to allow compiling the sharpmake scripts in debug, to ease their debugging 895d89f6
  • Move back all sharpmake binaries so they are output in the same directory, tmp/bin/[Optim] 558bb752
  • Add an appilcation argument /generatedebugsolutiononly to only generate the...
  • Add net5 support 6f05d8b8
  • Expose the static FileSystemComparer instance as Default to allow its use in user code 2b62cadd
  • Add utility method to know if we are running on unix, and use it where it makes sense in the codebase instead of the IsRunningInMono b82bcfd7
  • Add utility method to know if we are using dotnet core instead of .net framework b82bcfd7
  • Log the os and the framework sharpmake uses on startup b82bcfd7
  • By default will now generate all csproj except the versioned ones in the tmp folder 7382ce9b
  • Added vcpkg sample
  • Add support for ExecAlways flag to BuildStepExecutable step 3744a356
  • Remove ResharperAnnotations from the codebase, we barely use it and it creates issues in client code. d6b4b133
  • Remove /profileoutput command line, since we now have the superior /profile e8738b5b
  • [FastBuild] Add new DLL dependency of vs2019 16.8 toolchain to the compiler section ba259268
  • [Sln] Order the executable retrieval by project filename to make the sln output deterministic 1f5f8888
  • Otpim: move type methods retrieval after we've checked that objectPath wasn't null d0f2fa4c
  • Print the nb of configurations in the profiler tag 3c242bd8
  • Fix templated project type names in profiler file a51bbd3b
  • Respect MSVC "conformance mode" compiler option in generated .bff files

Bug fixes

  • Fix CompileSharpmake.bat so we return a proper exit code b41a62d3
  • Return a succesful exit code (0) if sharpmake is run with /help, but exit with error in case it is run without any arguments a0c0c7fe
  • Fix Framework display name with net5. f537c97b
  • Fix a failure in the MockPath unit tests.
  • Fix GetString, was always returning an empty string... 021a3310
  • Fix for library file with fullpath being wrongly reported as missing if no...
  • [Csproj] Use OrdinalIgnoreCase for sorting because for some reasons InvariantCulture changes depending on the machine... 22af20b9
  • Use AssemblyBuilder namespace instead AppDomain.CurrentDomain to be netcore compliant. cfb534cb
  • Bug fix: missing project configurations in solution when using multiframework
  • Use Location instead of CodeBase to initialize the fake path prefix, since the latter throws starting with .NET 5.0 50f1142f
  • [Profiling] Fix the solution type that wasn't displayed in the profiling json 4dd97a16
  • [Makefile] Fix sorting of include/lib paths and files, the weight set in the orderable strings wasn't taken into account 43e1d794