CUDA: Add cu as default source file extension

This commit is contained in:
Robert Maynard 2018-01-03 09:22:47 -05:00
parent 1f29bc4092
commit 81868e6bad
8 changed files with 14 additions and 8 deletions

View File

@ -371,10 +371,10 @@ void cmExtraCodeBlocksGenerator::CreateNewProjectFile(
continue;
}
// check whether it is a C/C++ implementation file
// check whether it is a C/C++/CUDA implementation file
bool isCFile = false;
std::string lang = s->GetLanguage();
if (lang == "C" || lang == "CXX") {
if (lang == "C" || lang == "CXX" || lang == "CUDA") {
std::string const& srcext = s->GetExtension();
isCFile = cm->IsSourceExtension(srcext);
}

View File

@ -227,10 +227,10 @@ std::string cmExtraCodeLiteGenerator::CollectSourceFiles(
gt->GetSourceFiles(sources,
makefile->GetSafeDefinition("CMAKE_BUILD_TYPE"));
for (cmSourceFile* s : sources) {
// check whether it is a C/C++ implementation file
// check whether it is a C/C++/CUDA implementation file
bool isCFile = false;
std::string lang = s->GetLanguage();
if (lang == "C" || lang == "CXX") {
if (lang == "C" || lang == "CXX" || lang == "CUDA") {
std::string const& srcext = s->GetExtension();
isCFile = cm->IsSourceExtension(srcext);
}

View File

@ -967,7 +967,7 @@ void cmMakefile::AddCustomCommandOldStyle(
}
// Each output must get its own copy of this rule.
cmsys::RegularExpression sourceFiles("\\.(C|M|c|c\\+\\+|cc|cpp|cxx|m|mm|"
cmsys::RegularExpression sourceFiles("\\.(C|M|c|c\\+\\+|cc|cpp|cxx|cu|m|mm|"
"rc|def|r|odl|idl|hpj|bat|h|h\\+\\+|"
"hm|hpp|hxx|in|txx|inl)$");
for (std::string const& oi : outputs) {

View File

@ -120,7 +120,8 @@ private:
#define CM_HEADER_REGEX "\\.(h|hh|h\\+\\+|hm|hpp|hxx|in|txx|inl)$"
#define CM_SOURCE_REGEX \
"\\.(C|M|c|c\\+\\+|cc|cpp|cxx|f|f90|for|fpp|ftn|m|mm|rc|def|r|odl|idl|hpj" \
"\\.(C|M|c|c\\+\\+|cc|cpp|cxx|cu|f|f90|for|fpp|ftn|m|mm|rc|def|r|odl|idl|" \
"hpj" \
"|bat)$"
#define CM_RESOURCE_REGEX "\\.(pdf|plist|png|jpeg|jpg|storyboard|xcassets)$"

View File

@ -1308,6 +1308,9 @@ cmSystemTools::FileFormat cmSystemTools::GetFileFormat(const char* cext)
if (ext == "java" || ext == ".java") {
return cmSystemTools::JAVA_FILE_FORMAT;
}
if (ext == "cu" || ext == ".cu") {
return cmSystemTools::CUDA_FILE_FORMAT;
}
if (ext == "H" || ext == ".H" || ext == "h" || ext == ".h" || ext == "h++" ||
ext == ".h++" || ext == "hm" || ext == ".hm" || ext == "hpp" ||
ext == ".hpp" || ext == "hxx" || ext == ".hxx" || ext == "in" ||

View File

@ -285,6 +285,7 @@ public:
CXX_FILE_FORMAT,
FORTRAN_FILE_FORMAT,
JAVA_FILE_FORMAT,
CUDA_FILE_FORMAT,
HEADER_FILE_FORMAT,
RESOURCE_FILE_FORMAT,
DEFINITION_FILE_FORMAT,

View File

@ -196,6 +196,7 @@ cmake::cmake(Role role)
this->SourceFileExtensions.push_back("cc");
this->SourceFileExtensions.push_back("cpp");
this->SourceFileExtensions.push_back("cxx");
this->SourceFileExtensions.push_back("cu");
this->SourceFileExtensions.push_back("m");
this->SourceFileExtensions.push_back("M");
this->SourceFileExtensions.push_back("mm");

View File

@ -3,7 +3,7 @@ CMake Error at global-interface.cmake:2 \(add_library\):
GLOBAL
Tried extensions \.c \.C \.c\+\+ \.cc \.cpp \.cxx \.m \.M \.mm \.h \.hh \.h\+\+ \.hm \.hpp
\.hxx \.in \.txx
Tried extensions( \.[A-Za-z+]+|
)*
Call Stack \(most recent call first\):
CMakeLists.txt:3 \(include\)