Repository navigation
VS 2019: v142 libs in of menu, link fixes, safer library switching - #8667
Merged
Merged
Conversation
The apothecary VS 2019 packages are current again (apothecary openframeworks#723), but of had no way to choose them and the vs2019 project could not link them. vs2019 project: - Link iphlpapi.lib from the props, as vs and vs2026 do. The current libcurl.lib needs if_nametoindex. - Add the dll/ folders the vs and vs2026 templates already have. Without them the post-build xcopy exits 4 and fails the build. of menu: - update libs asks which Visual Studio after the tag: 2026, 2022 or 2019, listing only packages on that release and marking what is installed. OF_VS_LIBS sets it without the menu. - The choice is recorded, so setup and update keep that VS's libs. - vsconfig gets a picker and scripts/vs/2019.vsconfig, which takes VS 2019 to its final 16.11 toolset. MSVC 14.29 cannot link the 2022/2026 libs, so it points to the v142 libs. VS 2019 is only auto-selected when it is the only VS installed. download_libs.sh: - All VS flavours install to lib/vs. --vs-switch clears what the new packages replace plus the core lib/vs and obj/ built with the old toolset, after the packages verify, so a failed download keeps the installed libs. Libs not in the packages keep their headers. - Fix the trap: `[ -e openFrameworksLibs* ]` errored with several cached packages. Stop deleting cached packages on failure, and report signals as interruptions instead of a blank line number. Add test-download-vs-switch.sh to the library download validation workflow.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The apothecary VS 2019 packages are current again (apothecary #723), but
ofcouldn't select them and the vs2019 project couldn't link them.Changes
iphlpapi.libfor current libcurl'sif_nametoindex, matching vs and vs2026.dll/directories so direct template builds do not fail with post-build xcopy exit 4.of update libsOF_VS_LIBSselects without the menu.of vsconfig2019.vsconfigfor VS 2019 16.11 and its v142 libraries.--vs-switchclears replaced libraries and the old corelib/vs/obj/only after new packages verify; failed downloads preserve installed libraries.Verified
Reported local validation used real VS 2019's MSBuild 16.11 and linker 14.29, running under x64 emulation on ARM64 Windows, with the PR branch and current
vs_2019_64libraries.projectGeneratorCmd -pvs2019: generated project built unchangedNo
__std_orif_nametoindexlink errors occurred.19.29.30159; FreeImage metadata reports3.19.31and C++17.2019.vsconfiginstallation completed in 7.4 minutes;--checkreported every component present.dll/directory confirmed.test-download-vs-switch.shStill untested
allAddonsExample.Merge order
Merge this PR first. #8659 is stacked on
stack/vs2019-libs-of-menu(matching this PR's head) and adds the dedicated v142 CI workflow. After this merges, rebase #8659 onto updatedmasterand retarget it tomaster.The generated-project
iphlpapi.libworkaround in apothecary #723's CI can be removed after this merges.