mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
VS: Generate IntDir property for INTERFACE libraries
This prevents MSBuild from complaining with warning MSB8028. Fixes #23043
This commit is contained in:
@@ -2930,7 +2930,7 @@ void cmVisualStudio10TargetGenerator::WritePathAndIncrementalLinkOptions(
|
||||
Elem& e0)
|
||||
{
|
||||
cmStateEnums::TargetType ttype = this->GeneratorTarget->GetType();
|
||||
if (ttype > cmStateEnums::GLOBAL_TARGET) {
|
||||
if (ttype > cmStateEnums::INTERFACE_LIBRARY) {
|
||||
return;
|
||||
}
|
||||
if (this->ProjectType == VsProjectType::csproj) {
|
||||
|
||||
@@ -5,6 +5,7 @@ if(NOT EXISTS "${vcProjectFile}")
|
||||
endif()
|
||||
|
||||
set(found_iface_h 0)
|
||||
set(found_int_dir 0)
|
||||
file(STRINGS "${vcProjectFile}" lines)
|
||||
foreach(line IN LISTS lines)
|
||||
if(line MATCHES "<([A-Za-z0-9_]+) +Include=.*iface\\.h")
|
||||
@@ -19,7 +20,15 @@ foreach(line IN LISTS lines)
|
||||
endif()
|
||||
set(found_iface_h 1)
|
||||
endif()
|
||||
if(line MATCHES "^ *<IntDir [^<>]+>[^<>]+</IntDir>")
|
||||
set(found_int_dir 1)
|
||||
endif()
|
||||
endforeach()
|
||||
if(NOT found_iface_h)
|
||||
set(RunCMake_TEST_FAILED "iface.h not referenced in\n ${vcProjectFile}")
|
||||
return()
|
||||
endif()
|
||||
if(NOT found_int_dir)
|
||||
set(RunCMake_TEST_FAILED "No references to IntDir in\n ${vcProjectFile}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user