New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handling of cmd.exe in VS2017 vs. VSCode? #330
Comments
I have made a custom build of CMake 3.12 (master) and then searched and replaced 'cmd.exe' with 'C:\Windows\System32\cmd.exe` and then every thing works as expected for nanoFramework builds under VS2017 with CMake. The files that need to be updated: Source\cmGlobalNinjaGenerator.cxx
Source\cmLocalNinjaGenerator.cxx
Source\cmLocalUnixMakefileGenerator3.cxx
|
As an example, one can use something along the lines of:
The other three would be similar. This tries to find |
We believe this scenario should be supported already, set the configuration as if you were targeting Windows. We retired this issue list, here on Github. We now adopted and using the Developer Community (https://developercommunity.visualstudio.com/spaces/62/index.html), for Cross Plat and Linux experiences (and C++ all up generally), which we are actively monitoring. Please use the Developer Community, to report issues or suggestions for bugs or new experiences. Further discussions on this thread here on Github might be unmonitored. If there is further comments or context in this current issue, please create a new issue on the Developer Community and mention it there. For existing issues which we can reproduce, or anything that is actionable to us, we will provide an update right here, in this thread. For new suggestions or issues, which at this time are in our roadmap, or we believe and have evidence that it will broadly and/or significantly benefit everyone, we will open a suggestion ticket, with the issue or suggestion, and link it here. For anything else, we recommend to please open a ticket on the Developer Community. |
I am trying to add support for nanoFramework to use these tools to cross compile to embedded systems, starting with Espressif ESP32.
CMake/Ninja generate
build.ninja
andrules.ninja
under VSCode and VS2017 (15.8.x) that are the same. VSCode will successfully build the project to completion. VS2017 compiles all the src files, but fails near the end of the build process when it needs to launch cmd.exe, saying it cannot find cmd.exe.If I edit
build.ninja
andrules.ninja
and replace 'cmd.exe' withC:\WINDOWS\system32\cmd.exe
, then the build will succeed. This works until the two files get auto regenerated.Expected results
rules.ninja
and 'cmd.exe' should have ${env.COMSPEC} as the shell command exe, or there should be a way to set this via settings toC:\WINDOWS\system32\cmd.exe
(or whatever is suitable to a system.Actual results (with build output window contents if applicable)
VC++ version, Linux system name and version, GCC/GDB/gdbserver version, CPU arch, etc. If you are using a specific version of Linux on an embedded board, we might need to know about it to get a repro on similar hardware
Steps required to reproduce the error
checkout the vs2017 branch from here: https://github.com/doingnz/nf-interpreter
Branch vs2017 has two additional files compared to the main repo develop branch.
• CMakeSettings.json
• CppProperties.json
run the power shell script `.\install-tools.ps1 -BOARD_NAME ESP32_DEVKITC -COMPORT COM19' to fetch the tools for ESP32 into default locations. They are just copied into place, so you can delete them afterwards.
Open the project folder in VS2017 and build all.
I have spent several days trying to understand how the files
build.ninja
andrules.ninja
are created and how to add a prefix path to the cmd.exe.Please help. There will be many grateful people if we can get this to work.
The text was updated successfully, but these errors were encountered: