What is your suggestion?
Hi there,
One slight annoyance I've noticed since updating our private recipes to use the new MSBuildDeps generator is that when a requirement that provides multiple components such as boost is used, it will lead to MSBuild using duplicated directories for the includes, libdirs etc of each component in the package (assuming that you're including the generated conandeps.props in the project).
While this doesn't cause any functional issues, it is quite spammy in build logs and other places within Visual Studio that display such AdditionalIncludeDirectories etc e.g.
C:\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\CL.exe /c /IC:\work\src\ /I"C:/.conan2/p/g-tes30877b48c0cd3/p/include" /I"C:/.conan2/p/g-tes30877b48c0cd3/p/include/googlemock/include" /I"C:/.conan2/p/g-tes30877b48c0cd3/p/include/googletest/include" /IC:/.conan2/p/webso4cd9b92a77bce/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/zlib0c4591880ed8f/p/include /IC:/.conan2/p/opens3e5919e9ca0df/p/include /IC:/.conan2/p/opens3e5919e9ca0df/p/include /I"C:/.conan2/p/ssl-w90b4489a3701b/p/include" /IC:/.conan2/p/rapidcba706a2b9d1d/p/include/include /IC:/.conan2/p/micro24db803c0d533/p/include
Evidently this occurs because an individual props file is generated for each component of boost and they are all declaring the same additive values for <AdditionalIncludeDirectories/> etc.
I don't know if there's any possibility to prevent this e.g. via aggregation using the Distinct item functions or maybe adding a Condition which checks if the path already exists in the target property?
It's a minor niggle, but would be nice if there was a cleaner implementation.
Thanks!
Have you read the CONTRIBUTING guide?
What is your suggestion?
Hi there,
One slight annoyance I've noticed since updating our private recipes to use the new
MSBuildDepsgenerator is that when a requirement that provides multiple components such asboostis used, it will lead to MSBuild using duplicated directories for the includes, libdirs etc of each component in the package (assuming that you're including the generatedconandeps.propsin the project).While this doesn't cause any functional issues, it is quite spammy in build logs and other places within Visual Studio that display such AdditionalIncludeDirectories etc e.g.
C:\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64\CL.exe /c /IC:\work\src\ /I"C:/.conan2/p/g-tes30877b48c0cd3/p/include" /I"C:/.conan2/p/g-tes30877b48c0cd3/p/include/googlemock/include" /I"C:/.conan2/p/g-tes30877b48c0cd3/p/include/googletest/include" /IC:/.conan2/p/webso4cd9b92a77bce/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/booste13af8dfe6c0b/p/include /IC:/.conan2/p/zlib0c4591880ed8f/p/include /IC:/.conan2/p/opens3e5919e9ca0df/p/include /IC:/.conan2/p/opens3e5919e9ca0df/p/include /I"C:/.conan2/p/ssl-w90b4489a3701b/p/include" /IC:/.conan2/p/rapidcba706a2b9d1d/p/include/include /IC:/.conan2/p/micro24db803c0d533/p/includeEvidently this occurs because an individual props file is generated for each component of
boostand they are all declaring the same additive values for<AdditionalIncludeDirectories/>etc.I don't know if there's any possibility to prevent this e.g. via aggregation using the Distinct item functions or maybe adding a Condition which checks if the path already exists in the target property?
It's a minor niggle, but would be nice if there was a cleaner implementation.
Thanks!
Have you read the CONTRIBUTING guide?