sass / libsass-net

A lightweight wrapper around libsass
MIT License
94 stars 35 forks source link

Compile libsass for one platform at a time #53

Open am11 opened 7 years ago

am11 commented 7 years ago

Added an inline MSBuild task, which make use of a new CoreFX API System.Runtime.InteropServices.RuntimeInformation to obtain OS description and architecture information, then translates into LibSassPlatform (Win32 or Win64 etc.).

Also added ability to cross compile, e.g. Win32 on 64-bit system.

Additional OSes will be added with .NET Core support.

Added cross compile configurations for AppVeyor CI.

Fixes #47.

am11 commented 7 years ago

/cc @nschonni

am11 commented 7 years ago

This change is good to go. The non-reflection version of task needs MSBuild15, which we will migrate to eventually for .NET Core support but that is for a later day.

am11 commented 7 years ago

This is the whole point of this exercise to build for single platform with unified name. The DLL search path need the file in same directory. The P/Invoke requires a constant name of the DLL in the DLL search patch, which cannot be nested.

Packaging step is a separate work item, where we bring dlls from different sources (Linux, OSX boxes and/or cross-compile)