VS: Generate HEADER_FILE_ONLY sources a excluded ClCompile
This hack set ExcludeFromBuild
to true in place to use the tag <ClInclude>
to refer the file as a header.
Basically in place of:
<ClInclude Include="E:\ttt\source\main.cpp" />
the following code is being generated:
<ClCompile Include="E:\ttt\source\main.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='MinSizeRel|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|x64'">true</ExcludedFromBuild>
</ClCompile>
Simple test CMakeLists.txt:
project(solution CXX)
set_source_files_properties(main.cpp PROPERTIES HEADER_FILE_ONLY TRUE)
add_executable(${PROJECT_NAME} main.cpp)
Edited by Brad King