diff --git a/src/libs/utils/codegeneration.cpp b/src/libs/utils/codegeneration.cpp index c0b1a64356a..f5975fe0fb6 100644 --- a/src/libs/utils/codegeneration.cpp +++ b/src/libs/utils/codegeneration.cpp @@ -35,7 +35,7 @@ namespace Utils { -static QString toAlphaNum(const QString &s) +QTCREATOR_UTILS_EXPORT QString fileNameToCppIdentifier(const QString &s) { QString rc; const int len = s.size(); @@ -55,9 +55,9 @@ static QString toAlphaNum(const QString &s) QTCREATOR_UTILS_EXPORT QString headerGuard(const QString &file) { const QFileInfo fi(file); - QString rc = toAlphaNum(fi.completeBaseName()).toUpper(); + QString rc = fileNameToCppIdentifier(fi.completeBaseName()).toUpper(); rc += QLatin1Char('_'); - rc += toAlphaNum(fi.suffix()).toUpper(); + rc += fileNameToCppIdentifier(fi.suffix()).toUpper(); return rc; } diff --git a/src/libs/utils/codegeneration.h b/src/libs/utils/codegeneration.h index 5c8fc746ce7..6f0ec6c7e1d 100644 --- a/src/libs/utils/codegeneration.h +++ b/src/libs/utils/codegeneration.h @@ -40,6 +40,10 @@ QT_END_NAMESPACE namespace Utils { +// Convert a file name to a Cpp identifier (stripping invalid characters +// or replacing them by an underscore). +QTCREATOR_UTILS_EXPORT QString fileNameToCppIdentifier(const QString &s); + QTCREATOR_UTILS_EXPORT QString headerGuard(const QString &file); QTCREATOR_UTILS_EXPORT diff --git a/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp b/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp index 0cfbb7dcaa2..a658a6bc223 100644 --- a/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtprojectparameters.cpp @@ -28,6 +28,7 @@ **************************************************************************/ #include "qtprojectparameters.h" +#include #include #include @@ -108,7 +109,7 @@ QString createMacro(const QString &name, const QString &suffix) if (extensionPosition != -1) rc.truncate(extensionPosition); rc += suffix; - return rc; + return Utils::fileNameToCppIdentifier(rc); } QString QtProjectParameters::exportMacro(const QString &projectName)