mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-30 10:20:56 -06:00
GHS: Set LANGUAGE type for source files
Use gbuild project syntax for setting the language type for the file. gbuild will pick the correct compiler or tool to use. NOTE: Language names come from gbuild config files. Therefore to compile a file with the C++ compiler use "C++" not "CXX". The previous implementation was passing the C compiler a flag to compile as C++ if LANGUAGE was set to "CXX".
This commit is contained in:
@@ -634,13 +634,8 @@ void cmGhsMultiTargetGenerator::WriteSources(std::ostream& fout_proj)
|
||||
compile = false;
|
||||
}
|
||||
|
||||
*fout << comment << fname << '\n';
|
||||
*fout << comment << fname << WriteObjectLangOverride(si) << '\n';
|
||||
if (compile) {
|
||||
if ("ld" != si->GetExtension() && "int" != si->GetExtension() &&
|
||||
"bsp" != si->GetExtension()) {
|
||||
WriteObjectLangOverride(*fout, si);
|
||||
}
|
||||
|
||||
this->WriteSourceProperty(*fout, si, "INCLUDE_DIRECTORIES", "-I");
|
||||
this->WriteSourceProperty(*fout, si, "COMPILE_DEFINITIONS", "-D");
|
||||
this->WriteSourceProperty(*fout, si, "COMPILE_OPTIONS", "");
|
||||
@@ -736,17 +731,16 @@ void cmGhsMultiTargetGenerator::WriteCustomCommandLine(
|
||||
}
|
||||
}
|
||||
|
||||
void cmGhsMultiTargetGenerator::WriteObjectLangOverride(
|
||||
std::ostream& fout, const cmSourceFile* sourceFile)
|
||||
std::string cmGhsMultiTargetGenerator::WriteObjectLangOverride(
|
||||
const cmSourceFile* sourceFile)
|
||||
{
|
||||
std::string ret;
|
||||
cmValue rawLangProp = sourceFile->GetProperty("LANGUAGE");
|
||||
if (rawLangProp) {
|
||||
std::string sourceLangProp(*rawLangProp);
|
||||
std::string const& extension = sourceFile->GetExtension();
|
||||
if ("CXX" == sourceLangProp && ("c" == extension || "C" == extension)) {
|
||||
fout << " -dotciscxx\n";
|
||||
}
|
||||
ret = cmStrCat(" [", *rawLangProp, "]");
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool cmGhsMultiTargetGenerator::DetermineIfIntegrityApp()
|
||||
|
||||
@@ -65,8 +65,7 @@ private:
|
||||
void WriteSourceProperty(std::ostream& fout, const cmSourceFile* sf,
|
||||
std::string const& propName,
|
||||
std::string const& propFlag);
|
||||
static void WriteObjectLangOverride(std::ostream& fout,
|
||||
const cmSourceFile* sourceFile);
|
||||
static std::string WriteObjectLangOverride(const cmSourceFile* sourceFile);
|
||||
|
||||
bool DetermineIfIntegrityApp();
|
||||
cmGeneratorTarget* GeneratorTarget;
|
||||
|
||||
Reference in New Issue
Block a user