forked from qt-creator/qt-creator
CMakePM: Use the right type for the few kit CMake variables
Use FILEPATH for CMAKE_C|CXX_COMPILER variables, and PATH for directory variables like CMAKE_PREFIX_PATH. Task-number: QTCREATORBUG-27005 Change-Id: I906de43ab97d2dbad0374469c4576d901d2f6339 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -102,7 +102,7 @@ const char DEVELOPMENT_TEAM_FLAG[] = "Ios:DevelopmentTeam:Flag";
|
|||||||
const char PROVISIONING_PROFILE_FLAG[] = "Ios:ProvisioningProfile:Flag";
|
const char PROVISIONING_PROFILE_FLAG[] = "Ios:ProvisioningProfile:Flag";
|
||||||
const char CMAKE_OSX_ARCHITECTURES_FLAG[] = "CMAKE_OSX_ARCHITECTURES:DefaultFlag";
|
const char CMAKE_OSX_ARCHITECTURES_FLAG[] = "CMAKE_OSX_ARCHITECTURES:DefaultFlag";
|
||||||
const char CMAKE_QT6_TOOLCHAIN_FILE_ARG[] =
|
const char CMAKE_QT6_TOOLCHAIN_FILE_ARG[] =
|
||||||
"-DCMAKE_TOOLCHAIN_FILE:PATH=%{Qt:QT_INSTALL_PREFIX}/lib/cmake/Qt6/qt.toolchain.cmake";
|
"-DCMAKE_TOOLCHAIN_FILE:FILEPATH=%{Qt:QT_INSTALL_PREFIX}/lib/cmake/Qt6/qt.toolchain.cmake";
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
@@ -1087,7 +1087,7 @@ static CommandLine defaultInitialCMakeCommand(const Kit *k, const QString buildT
|
|||||||
|
|
||||||
// Package manager
|
// Package manager
|
||||||
if (!isDocker(k) && settings->packageManagerAutoSetup.value()) {
|
if (!isDocker(k) && settings->packageManagerAutoSetup.value()) {
|
||||||
cmd.addArg("-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH="
|
cmd.addArg("-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH="
|
||||||
"%{IDE:ResourcePath}/package-manager/auto-setup.cmake");
|
"%{IDE:ResourcePath}/package-manager/auto-setup.cmake");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1204,7 +1204,7 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id)
|
|||||||
auto ndkLocation = bs->data(Android::Constants::NdkLocation).value<FilePath>();
|
auto ndkLocation = bs->data(Android::Constants::NdkLocation).value<FilePath>();
|
||||||
cmd.addArg("-DANDROID_NDK:PATH=" + ndkLocation.path());
|
cmd.addArg("-DANDROID_NDK:PATH=" + ndkLocation.path());
|
||||||
|
|
||||||
cmd.addArg("-DCMAKE_TOOLCHAIN_FILE:PATH="
|
cmd.addArg("-DCMAKE_TOOLCHAIN_FILE:FILEPATH="
|
||||||
+ ndkLocation.pathAppended("build/cmake/android.toolchain.cmake").path());
|
+ ndkLocation.pathAppended("build/cmake/android.toolchain.cmake").path());
|
||||||
|
|
||||||
auto androidAbis = bs->data(Android::Constants::AndroidMkSpecAbis).toStringList();
|
auto androidAbis = bs->data(Android::Constants::AndroidMkSpecAbis).toStringList();
|
||||||
|
|||||||
@@ -51,6 +51,10 @@ CMakeConfigItem::CMakeConfigItem(const QByteArray &k, Type t,
|
|||||||
key(k), type(t), value(v), documentation(d), values(s)
|
key(k), type(t), value(v), documentation(d), values(s)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
CMakeConfigItem::CMakeConfigItem(const QByteArray &k, Type t, const QByteArray &v) :
|
||||||
|
key(k), type(t), value(v)
|
||||||
|
{ }
|
||||||
|
|
||||||
CMakeConfigItem::CMakeConfigItem(const QByteArray &k, const QByteArray &v) :
|
CMakeConfigItem::CMakeConfigItem(const QByteArray &k, const QByteArray &v) :
|
||||||
key(k), value(v)
|
key(k), value(v)
|
||||||
{ }
|
{ }
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ public:
|
|||||||
enum Type { FILEPATH, PATH, BOOL, STRING, INTERNAL, STATIC, UNINITIALIZED };
|
enum Type { FILEPATH, PATH, BOOL, STRING, INTERNAL, STATIC, UNINITIALIZED };
|
||||||
CMakeConfigItem();
|
CMakeConfigItem();
|
||||||
CMakeConfigItem(const QByteArray &k, Type t, const QByteArray &d, const QByteArray &v, const QStringList &s = {});
|
CMakeConfigItem(const QByteArray &k, Type t, const QByteArray &d, const QByteArray &v, const QStringList &s = {});
|
||||||
|
CMakeConfigItem(const QByteArray &k, Type t, const QByteArray &v);
|
||||||
CMakeConfigItem(const QByteArray &k, const QByteArray &v);
|
CMakeConfigItem(const QByteArray &k, const QByteArray &v);
|
||||||
|
|
||||||
static QStringList cmakeSplitValue(const QString &in, bool keepEmpty = false);
|
static QStringList cmakeSplitValue(const QString &in, bool keepEmpty = false);
|
||||||
|
|||||||
@@ -1109,12 +1109,12 @@ CMakeConfig CMakeConfigurationKitAspect::defaultConfiguration(const Kit *k)
|
|||||||
Q_UNUSED(k)
|
Q_UNUSED(k)
|
||||||
CMakeConfig config;
|
CMakeConfig config;
|
||||||
// Qt4:
|
// Qt4:
|
||||||
config << CMakeConfigItem(CMAKE_QMAKE_KEY, "%{Qt:qmakeExecutable}");
|
config << CMakeConfigItem(CMAKE_QMAKE_KEY, CMakeConfigItem::FILEPATH, "%{Qt:qmakeExecutable}");
|
||||||
// Qt5:
|
// Qt5:
|
||||||
config << CMakeConfigItem(CMAKE_PREFIX_PATH_KEY, "%{Qt:QT_INSTALL_PREFIX}");
|
config << CMakeConfigItem(CMAKE_PREFIX_PATH_KEY, CMakeConfigItem::PATH, "%{Qt:QT_INSTALL_PREFIX}");
|
||||||
|
|
||||||
config << CMakeConfigItem(CMAKE_C_TOOLCHAIN_KEY, "%{Compiler:Executable:C}");
|
config << CMakeConfigItem(CMAKE_C_TOOLCHAIN_KEY, CMakeConfigItem::FILEPATH, "%{Compiler:Executable:C}");
|
||||||
config << CMakeConfigItem(CMAKE_CXX_TOOLCHAIN_KEY, "%{Compiler:Executable:Cxx}");
|
config << CMakeConfigItem(CMAKE_CXX_TOOLCHAIN_KEY, CMakeConfigItem::FILEPATH, "%{Compiler:Executable:Cxx}");
|
||||||
|
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user