|
|
@@ -2502,7 +2502,7 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
|
|
|
}
|
|
|
|
|
|
void cmVisualStudio10TargetGenerator::WriteClOptions(
|
|
|
- std::string const& configName, std::vector<std::string> const& includes)
|
|
|
+ std::string const& configName)
|
|
|
{
|
|
|
Options& clOptions = *(this->ClOptions[configName]);
|
|
|
if (this->ProjectType == csproj) {
|
|
|
@@ -2510,7 +2510,11 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
|
|
|
}
|
|
|
this->WriteString("<ClCompile>\n", 2);
|
|
|
clOptions.PrependInheritedString("AdditionalOptions");
|
|
|
- clOptions.AppendFlag("AdditionalIncludeDirectories", includes);
|
|
|
+ if (!this->LangForClCompile.empty()) {
|
|
|
+ std::vector<std::string> const includes =
|
|
|
+ this->GetIncludes(configName, this->LangForClCompile);
|
|
|
+ clOptions.AppendFlag("AdditionalIncludeDirectories", includes);
|
|
|
+ }
|
|
|
clOptions.AppendFlag("AdditionalIncludeDirectories",
|
|
|
"%(AdditionalIncludeDirectories)");
|
|
|
clOptions.OutputFlagMap(*this->BuildFileStream, " ");
|
|
|
@@ -2596,7 +2600,7 @@ bool cmVisualStudio10TargetGenerator::ComputeRcOptions(
|
|
|
}
|
|
|
|
|
|
void cmVisualStudio10TargetGenerator::WriteRCOptions(
|
|
|
- std::string const& configName, std::vector<std::string> const& includes)
|
|
|
+ std::string const& configName)
|
|
|
{
|
|
|
if (!this->MSTools) {
|
|
|
return;
|
|
|
@@ -2606,6 +2610,8 @@ void cmVisualStudio10TargetGenerator::WriteRCOptions(
|
|
|
Options& rcOptions = *(this->RcOptions[configName]);
|
|
|
rcOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ",
|
|
|
"\n", "RC");
|
|
|
+ std::vector<std::string> const includes =
|
|
|
+ this->GetIncludes(configName, "RC");
|
|
|
rcOptions.AppendFlag("AdditionalIncludeDirectories", includes);
|
|
|
rcOptions.AppendFlag("AdditionalIncludeDirectories",
|
|
|
"%(AdditionalIncludeDirectories)");
|
|
|
@@ -2710,7 +2716,7 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
|
|
|
}
|
|
|
|
|
|
void cmVisualStudio10TargetGenerator::WriteCudaOptions(
|
|
|
- std::string const& configName, std::vector<std::string> const& includes)
|
|
|
+ std::string const& configName)
|
|
|
{
|
|
|
if (!this->MSTools || !this->GlobalGenerator->IsCudaEnabled()) {
|
|
|
return;
|
|
|
@@ -2718,6 +2724,8 @@ void cmVisualStudio10TargetGenerator::WriteCudaOptions(
|
|
|
this->WriteString("<CudaCompile>\n", 2);
|
|
|
|
|
|
Options& cudaOptions = *(this->CudaOptions[configName]);
|
|
|
+ std::vector<std::string> const includes =
|
|
|
+ this->GetIncludes(configName, "CUDA");
|
|
|
cudaOptions.AppendFlag("Include", includes);
|
|
|
cudaOptions.AppendFlag("Include", "%(Include)");
|
|
|
cudaOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ",
|
|
|
@@ -2832,7 +2840,7 @@ bool cmVisualStudio10TargetGenerator::ComputeMasmOptions(
|
|
|
}
|
|
|
|
|
|
void cmVisualStudio10TargetGenerator::WriteMasmOptions(
|
|
|
- std::string const& configName, std::vector<std::string> const& includes)
|
|
|
+ std::string const& configName)
|
|
|
{
|
|
|
if (!this->MSTools || !this->GlobalGenerator->IsMasmEnabled()) {
|
|
|
return;
|
|
|
@@ -2845,6 +2853,8 @@ void cmVisualStudio10TargetGenerator::WriteMasmOptions(
|
|
|
"\n", "ASM_MASM");
|
|
|
|
|
|
Options& masmOptions = *(this->MasmOptions[configName]);
|
|
|
+ std::vector<std::string> const includes =
|
|
|
+ this->GetIncludes(configName, "ASM_MASM");
|
|
|
masmOptions.AppendFlag("IncludePaths", includes);
|
|
|
masmOptions.AppendFlag("IncludePaths", "%(IncludePaths)");
|
|
|
masmOptions.PrependInheritedString("AdditionalOptions");
|
|
|
@@ -2889,13 +2899,15 @@ bool cmVisualStudio10TargetGenerator::ComputeNasmOptions(
|
|
|
}
|
|
|
|
|
|
void cmVisualStudio10TargetGenerator::WriteNasmOptions(
|
|
|
- std::string const& configName, std::vector<std::string> includes)
|
|
|
+ std::string const& configName)
|
|
|
{
|
|
|
if (!this->GlobalGenerator->IsNasmEnabled()) {
|
|
|
return;
|
|
|
}
|
|
|
this->WriteString("<NASM>\n", 2);
|
|
|
|
|
|
+ std::vector<std::string> includes =
|
|
|
+ this->GetIncludes(configName, "ASM_NASM");
|
|
|
Options& nasmOptions = *(this->NasmOptions[configName]);
|
|
|
for (size_t i = 0; i < includes.size(); i++) {
|
|
|
includes[i] += "\\";
|
|
|
@@ -3443,7 +3455,7 @@ void cmVisualStudio10TargetGenerator::AddTargetsFileAndConfigPair(
|
|
|
}
|
|
|
|
|
|
void cmVisualStudio10TargetGenerator::WriteMidlOptions(
|
|
|
- std::string const& /*config*/, std::vector<std::string> const& includes)
|
|
|
+ std::string const& configName)
|
|
|
{
|
|
|
if (!this->MSTools) {
|
|
|
return;
|
|
|
@@ -3469,6 +3481,8 @@ void cmVisualStudio10TargetGenerator::WriteMidlOptions(
|
|
|
// on the CMake side?
|
|
|
this->WriteString("<Midl>\n", 2);
|
|
|
this->WriteString("<AdditionalIncludeDirectories>", 3);
|
|
|
+ std::vector<std::string> const includes =
|
|
|
+ this->GetIncludes(configName, "MIDL");
|
|
|
for (std::string const& i : includes) {
|
|
|
*this->BuildFileStream << cmVS10EscapeXML(i) << ";";
|
|
|
}
|
|
|
@@ -3493,20 +3507,19 @@ void cmVisualStudio10TargetGenerator::WriteItemDefinitionGroups()
|
|
|
return;
|
|
|
}
|
|
|
for (std::string const& i : this->Configurations) {
|
|
|
- std::vector<std::string> const includes = this->GetIncludes(i, "C");
|
|
|
this->WritePlatformConfigTag("ItemDefinitionGroup", i, 1);
|
|
|
*this->BuildFileStream << "\n";
|
|
|
// output cl compile flags <ClCompile></ClCompile>
|
|
|
if (this->GeneratorTarget->GetType() <= cmStateEnums::OBJECT_LIBRARY) {
|
|
|
- this->WriteClOptions(i, includes);
|
|
|
+ this->WriteClOptions(i);
|
|
|
// output rc compile flags <ResourceCompile></ResourceCompile>
|
|
|
- this->WriteRCOptions(i, includes);
|
|
|
- this->WriteCudaOptions(i, includes);
|
|
|
- this->WriteMasmOptions(i, includes);
|
|
|
- this->WriteNasmOptions(i, includes);
|
|
|
+ this->WriteRCOptions(i);
|
|
|
+ this->WriteCudaOptions(i);
|
|
|
+ this->WriteMasmOptions(i);
|
|
|
+ this->WriteNasmOptions(i);
|
|
|
}
|
|
|
// output midl flags <Midl></Midl>
|
|
|
- this->WriteMidlOptions(i, includes);
|
|
|
+ this->WriteMidlOptions(i);
|
|
|
// write events
|
|
|
if (this->ProjectType != csproj) {
|
|
|
this->WriteEvents(i);
|