Merge topic 'feature-codelite-fortran'

51caac69 CodeLite: Better support for Fortran and Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1678
This commit is contained in:
Brad King 2018-01-23 14:35:38 +00:00 committed by Kitware Robot
commit ce863c17d0

View File

@ -198,8 +198,6 @@ std::string cmExtraCodeLiteGenerator::CollectSourceFiles(
std::map<std::string, cmSourceFile*>& cFiles,
std::set<std::string>& otherFiles)
{
auto cm = this->GlobalGenerator->GetCMakeInstance();
std::string projectType;
switch (gt->GetType()) {
case cmStateEnums::EXECUTABLE: {
@ -227,19 +225,18 @@ std::string cmExtraCodeLiteGenerator::CollectSourceFiles(
gt->GetSourceFiles(sources,
makefile->GetSafeDefinition("CMAKE_BUILD_TYPE"));
for (cmSourceFile* s : sources) {
// check whether it is a C/C++/CUDA implementation file
bool isCFile = false;
std::string lang = s->GetLanguage();
if (lang == "C" || lang == "CXX" || lang == "CUDA") {
std::string const& srcext = s->GetExtension();
isCFile = cm->IsSourceExtension(srcext);
}
// check whether it is a source or a include file
// then put it accordingly into one of the two containers
if (isCFile) {
cFiles[s->GetFullPath()] = s;
} else {
otherFiles.insert(s->GetFullPath());
switch (cmSystemTools::GetFileFormat(s->GetExtension().c_str())) {
case cmSystemTools::C_FILE_FORMAT:
case cmSystemTools::CXX_FILE_FORMAT:
case cmSystemTools::CUDA_FILE_FORMAT:
case cmSystemTools::FORTRAN_FILE_FORMAT: {
cFiles[s->GetFullPath()] = s;
} break;
default: {
otherFiles.insert(s->GetFullPath());
}
}
}
}
@ -679,7 +676,11 @@ std::string cmExtraCodeLiteGenerator::GetSingleFileBuildCommand(
std::string generator = mf->GetSafeDefinition("CMAKE_GENERATOR");
if (generator == "Unix Makefiles" || generator == "MinGW Makefiles") {
std::ostringstream ss;
ss << make << " -f$(ProjectPath)/Makefile $(CurrentFileName).cpp.o";
#if defined(_WIN32)
ss << make << " -f$(ProjectPath)/Makefile -B $(CurrentFileFullName).obj";
#else
ss << make << " -f$(ProjectPath)/Makefile -B $(CurrentFileFullName).o";
#endif
buildCommand = ss.str();
}
return buildCommand;