Extract data from vcxproj files
List of source files
#!/bin/sh
xmlstarlet sel -t -c 'Project/ItemGroup/ClCompile' -i "contains(Include,'.cpp')" -o "ClCompile" -n  libVinoDriverUnitTests.vcxproj
Preprocess-only
- Trying to get an MSVC project to produce pre-processed files as *output* of the build process.
- Specifically for integrating c-msggen.
VCProj
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
ExcludeBuckets="3;5;6;8;9;10;11;13;15;16;18;21"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../../ThirdPartyTools;../../../Common"
PreprocessorDefinitions="_DEBUG;_LIB;KINEMATICS_PROTOTYPE"
RuntimeLibrary="1"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
PrecompiledHeaderThrough=""
PrecompiledHeaderFile="$(IntDir)\$(TargetName).pch"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="2"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
- Possibly WholeProgramOptimization, ExcludeBuckets or EnableFunctionLevelLinking have something to do with the fix.