-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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
Make vcpkg.targets more defensive w.r.t. the naming of build configurations #4454
Comments
As I was doing work on #4361 I also thought of changing this behavior but decided against it due to names like (Release_with_debug_symbols). Your current changes will link the debug libraries in this case which is wrong. The other question is if linking the release libraries in all other non debug named configurations is the right thing to do? (e.g. in cases like: Deb_Config) Having a hard error in these cases could be better than silently linking the release libraries. In cases where the user defines configurations he should set |
Good point. Having thought about this for a while, I think I'd still suggest using |
These tool agnostic properties allow to configure ClCompile and ResourceCompile without repeating the code. This change includes my changes from microsoft#4454.
I think at least
or
|
This issue hasn’t been updated in a year; if it is still an issue, please reopen this issue. |
Use IncludePath and LibraryPath propertiesThese tool agnostic properties allow to configure ClCompile and ResourceCompile without repeating the code. This change includes my changes from #4454. Co-authored-by: Nicole Mazzuca <[email protected]>
…13755) * Use IncludePath and LibraryPath properties These tool agnostic properties allow to configure ClCompile and ResourceCompile without repeating the code. This change includes my changes from #4454. * Applied changes as described in #13753 * Fixed warning and error in vcpkg end-to-end tests * Fixed incorrect warning "we found a manifest file in \." * Fixed still failing integration test. See discussion in #13753. * Code Review Correction Removed stray double quote reported by @strega-nil * change display name Co-authored-by: Nicole Mazzuca <[email protected]> Co-authored-by: Billy Robert O'Neal III <[email protected]>
I'm using Visual Studio 2017 with the vcpkg integration to build my projects.
The
vcpkg/scripts/buildsystems/msbuild/vcpkg.targets
file is of version #3504, 8. Aug. 2018.Besides the well known build configurations
Debug
andRelease
, I also use other names that prefix or suffix additional words, likeTest Debug
orDebug CLR
. In my project settings, I examine the configuraion name to automatically adjust certain project settings.The problem with vcpkg is that the condition
$(VcpkgConfiguration.StartsWith('Debug'))
does match some cases, but not all. Also, creating the property$(VcpkgNormalizedConfiguration)
as string and examining it later just to add a sub directory is more verbose than necessary.I'd like to propose the following:
$(VcpkgConfigSubdir)
that is'debug\'
if the configuration contains'Debug'
(case-insensitive) and is empty in all other cases.$(VcpkgConfigSubdir)
into the strings.$(VcpkgConfigSubdir)
will always be defined and the test cannot fail anymore.I have prepared a modified version of
vcpkg.targets
that works very well that I'd like to submit.The text was updated successfully, but these errors were encountered: