If one puts an environment variable in include paths, it does not get expanded before being passed to cppcheck.
Starting analyzer with arguments: --enable=style,information,warning,performance,portability --inline-suppr -q --force --template=vs --relative-paths="D:\Perforce\Dev\Projects\Vs2012" -j 8 --suppress=passedByValue --suppress=cstyleCast --suppress=missingIncludeSystem --suppress=unusedStructMember --suppress=unmatchedSuppression --suppress=class_X_Y --suppress=missingInclude --suppress=constStatement --suppress=unusedPrivateFunction -I"D:\Perforce\Dev\Projects\Vs2012\$(SourceRoot)\External\H" "D:\Perforce\Dev\Source\HwLighting\HwLighting.cpp" -D__cplusplus=199711L -D_MSC_VER=1900 -DWIN32 -D_WINDOWS -DPLATFORM_WINDOWS -DPROJECT_GW2 -D_DEBUG -DLOCALIZE -DCLIENT -DCLIENT_BUILD -DSERVER -DSERVER_BUILD -D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH -D_ALLOW_RUNTIME_LIBRARY_MISMATCH -D_WIN32 -D_M_IX86
cppcheck: warning: Couldn't find path given by -I 'D:\Perforce\Dev\Projects\Vs2012\$(SourceRoot)\External\H\'
Analysis completed in 0.038 seconds