Merge topic 'vs-windows-forms'
6c9712c VS: Add Resx configuration to the vcxproj file
This commit is contained in:
commit
be9a80a088
@ -307,7 +307,7 @@ void cmVisualStudio10TargetGenerator::Generate()
|
|||||||
this->WriteCustomCommands();
|
this->WriteCustomCommands();
|
||||||
this->WriteAllSources();
|
this->WriteAllSources();
|
||||||
this->WriteDotNetReferences();
|
this->WriteDotNetReferences();
|
||||||
|
this->WriteEmbeddedResourceGroup();
|
||||||
this->WriteWinRTReferences();
|
this->WriteWinRTReferences();
|
||||||
this->WriteProjectReferences();
|
this->WriteProjectReferences();
|
||||||
this->WriteString(
|
this->WriteString(
|
||||||
@ -346,6 +346,47 @@ void cmVisualStudio10TargetGenerator::WriteDotNetReferences()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cmVisualStudio10TargetGenerator::WriteEmbeddedResourceGroup()
|
||||||
|
{
|
||||||
|
std::vector<cmSourceFile*> const& resxObjs =
|
||||||
|
this->GeneratorTarget->ResxSources;
|
||||||
|
if(!resxObjs.empty())
|
||||||
|
{
|
||||||
|
this->WriteString("<ItemGroup>\n", 1);
|
||||||
|
for(std::vector<cmSourceFile*>::const_iterator oi = resxObjs.begin();
|
||||||
|
oi != resxObjs.end(); ++oi)
|
||||||
|
{
|
||||||
|
std::string obj = (*oi)->GetFullPath();
|
||||||
|
this->WriteString("<EmbeddedResource Include=\"", 2);
|
||||||
|
this->ConvertToWindowsSlash(obj);
|
||||||
|
(*this->BuildFileStream ) << obj << "\">\n";
|
||||||
|
|
||||||
|
this->WriteString("<DependentUpon>", 3);
|
||||||
|
std::string hFileName = obj.substr(0, obj.find_last_of(".")) + ".h";
|
||||||
|
(*this->BuildFileStream ) << hFileName;
|
||||||
|
this->WriteString("</DependentUpon>\n", 3);
|
||||||
|
|
||||||
|
std::vector<std::string> const * configs =
|
||||||
|
this->GlobalGenerator->GetConfigurations();
|
||||||
|
for(std::vector<std::string>::const_iterator i = configs->begin();
|
||||||
|
i != configs->end(); ++i)
|
||||||
|
{
|
||||||
|
this->WritePlatformConfigTag("LogicalName", i->c_str(), 3);
|
||||||
|
if(this->Target->GetProperty("VS_GLOBAL_ROOTNAMESPACE"))
|
||||||
|
{
|
||||||
|
(*this->BuildFileStream ) << "$(RootNamespace).";
|
||||||
|
}
|
||||||
|
(*this->BuildFileStream ) << "%(Filename)";
|
||||||
|
(*this->BuildFileStream ) << ".resources";
|
||||||
|
(*this->BuildFileStream ) << "</LogicalName>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
this->WriteString("</EmbeddedResource>\n", 2);
|
||||||
|
}
|
||||||
|
this->WriteString("</ItemGroup>\n", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void cmVisualStudio10TargetGenerator::WriteWinRTReferences()
|
void cmVisualStudio10TargetGenerator::WriteWinRTReferences()
|
||||||
{
|
{
|
||||||
std::vector<std::string> references;
|
std::vector<std::string> references;
|
||||||
@ -473,11 +514,6 @@ void cmVisualStudio10TargetGenerator::WriteProjectConfigurationValues()
|
|||||||
"</WindowsAppContainer>\n", 2);
|
"</WindowsAppContainer>\n", 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!this->GeneratorTarget->ResxSources.empty())
|
|
||||||
{
|
|
||||||
this->WriteString("<CLRSupport>true</CLRSupport>\n", 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
this->WriteString("</PropertyGroup>\n", 1);
|
this->WriteString("</PropertyGroup>\n", 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -670,11 +706,12 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
|
|||||||
this->WriteGroupSources(ti->first.c_str(), ti->second, sourceGroups);
|
this->WriteGroupSources(ti->first.c_str(), ti->second, sourceGroups);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<cmSourceFile*> resxObjs = this->GeneratorTarget->ResxSources;
|
std::vector<cmSourceFile*> const& resxObjs =
|
||||||
|
this->GeneratorTarget->ResxSources;
|
||||||
if(!resxObjs.empty())
|
if(!resxObjs.empty())
|
||||||
{
|
{
|
||||||
this->WriteString("<ItemGroup>\n", 1);
|
this->WriteString("<ItemGroup>\n", 1);
|
||||||
for(std::vector<cmSourceFile*>::iterator oi = resxObjs.begin();
|
for(std::vector<cmSourceFile*>::const_iterator oi = resxObjs.begin();
|
||||||
oi != resxObjs.end(); ++oi)
|
oi != resxObjs.end(); ++oi)
|
||||||
{
|
{
|
||||||
std::string obj = (*oi)->GetFullPath();
|
std::string obj = (*oi)->GetFullPath();
|
||||||
|
@ -59,6 +59,7 @@ private:
|
|||||||
void WriteSources(const char* tool, std::vector<cmSourceFile*> const&);
|
void WriteSources(const char* tool, std::vector<cmSourceFile*> const&);
|
||||||
void WriteAllSources();
|
void WriteAllSources();
|
||||||
void WriteDotNetReferences();
|
void WriteDotNetReferences();
|
||||||
|
void WriteEmbeddedResourceGroup();
|
||||||
void WriteWinRTReferences();
|
void WriteWinRTReferences();
|
||||||
void WritePathAndIncrementalLinkOptions();
|
void WritePathAndIncrementalLinkOptions();
|
||||||
void WriteItemDefinitionGroups();
|
void WriteItemDefinitionGroups();
|
||||||
|
@ -25,6 +25,7 @@ set(TARGET_SRC
|
|||||||
WindowsFormsResx/MyForm.cpp
|
WindowsFormsResx/MyForm.cpp
|
||||||
WindowsFormsResx/Source.cpp
|
WindowsFormsResx/Source.cpp
|
||||||
)
|
)
|
||||||
|
set_source_files_properties(${TARGET_SRC} PROPERTIES COMPILE_FLAGS "/clr")
|
||||||
|
|
||||||
set(TARGET_RESX
|
set(TARGET_RESX
|
||||||
WindowsFormsResx/MyForm.resx
|
WindowsFormsResx/MyForm.resx
|
||||||
|
Loading…
x
Reference in New Issue
Block a user