FileOnQ / Imaging.Raw

4 stars 1 forks source link

Add VS Pro and VS Community Support #1

Closed SkyeHoefling closed 2 years ago

SkyeHoefling commented 3 years ago

The libraw.bat only supports compiling under an enterprise edition of Visual Studio 2019. We should be able to update this to support community and pro editions.

Bett-A-Fish commented 2 years ago

these links look like they might have something to make the vcvarsall.bat consistently available: https://stackoverflow.com/questions/25263518/how-to-create-more-macros-in-c-sharp-post-build-step https://cmake.cmake.narkive.com/w5u3Xom7/how-to-find-vcvarsall-bat-e-g-at-c-program-files-x86-microsoft-visual-studio-12-0-vc-linker

possibly helpful? https://stackoverflow.com/questions/46176955/is-it-possible-to-use-cmake-without-any-compiler https://cmake.org/cmake/help/latest/manual/cmake.1.html#options

mitchelsellers commented 2 years ago

I've been also looking into this one a bit, and there doesn't seem to be a great workaround at all, and it seems to also be dependent upon the workloads that you select for installation, as an example I don't have this file on one of my machine as I don't have the VC++ workload installed, as it isn't part of my day-to-day development scenarios.

@ahoefling What is your recommendation here. Obviously we need to add readme documentation that you must install additional workloads to be able to utilize this project. But we do want to invest in a bunch of path mappings to try and "find" the file? If so, what versions & editions? VS 2019 & VS 2022? Enterprise, Pro & Community?

Bett-A-Fish commented 2 years ago

https://github.com/jenkinsci/vcvarsall-plugin

https://github.com/lenihan/mk/commit/565e7a22bf6dd39b12b89d19bea4414dfad42adc

Bett-A-Fish commented 2 years ago

could this be useful? https://github.com/microsoft/vswhere image

vswhere -latest -property installationPath image

after that the path seems to consistently be VC\Auxiliary\Build\vcvarsall.bat

SkyeHoefling commented 2 years ago

@Bett-A-Fish I love it! Let's use vswhere to find the installed version of Visual Studio and dynamically update the bat script to use the correct binaries as you suggested. The build agents have chocolatey already installed so we can make that dependency of our build that you have vswhere installed.

Once we get this figured out for this project, we will need to implement a similar solution into the heif project at https://github.com/fileonq/imaging.heif

mitchelsellers commented 2 years ago

I think this is a great option and I think we should really use the following process, if possible in this script.

This way we can have a bit of a graceful support