@@ -33,11 +33,21 @@ inline bool isRunningInstalled() {
33 return installed;
33 return installed;
36+inline QString buildDirectory() {
37+ if (!qEnvironmentVariableIsEmpty("UNITY_BINARY_DIR")) return qgetenv("UNITY_BINARY_DIR");
38+ return QString("@CMAKE_BINARY_DIR@");
41+inline QString sourceDirectory() {
42+ if (!qEnvironmentVariableIsEmpty("UNITY_SOURCE_DIR")) return qgetenv("UNITY_SOURCE_DIR");
43+ return QString("@CMAKE_SOURCE_DIR@");
36inline QString translationDirectory() {
46inline QString translationDirectory() {
37 if (isRunningInstalled()) {
47 if (isRunningInstalled()) {
38 return QString("@CMAKE_INSTALL_PREFIX@/share/locale");
48 return QString("@CMAKE_INSTALL_PREFIX@/share/locale");
40− return QString("@CMAKE_BINARY_DIR@/po/locale");
50+ return QString(buildDirectory() + "/po/locale");
@@ -45,14 +55,14 @@ inline QString qmlDirectory() {
45 if (isRunningInstalled()) {
55 if (isRunningInstalled()) {
46 return QString("@CMAKE_INSTALL_PREFIX@/@SHELL_APP_DIR@/");
56 return QString("@CMAKE_INSTALL_PREFIX@/@SHELL_APP_DIR@/");
48− return QString("@CMAKE_SOURCE_DIR@/qml/");
58+ return QString(sourceDirectory() + "/qml");
52inline QStringList overrideImportPaths() {
62inline QStringList overrideImportPaths() {
53 QStringList paths;
63 QStringList paths;
54 if (!isRunningInstalled()) {
64 if (!isRunningInstalled()) {
55− paths << QString("@CMAKE_BINARY_DIR@/plugins");
65+ paths << QString(buildDirectory() + "/plugins");
57 return paths;
67 return paths;
@@ -62,7 +72,7 @@ inline QStringList nonMirImportPaths() {
62 if (isRunningInstalled()) {
72 if (isRunningInstalled()) {
63 paths << QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/nonmirplugins");
73 paths << QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/nonmirplugins");
65− paths << QString("@CMAKE_BINARY_DIR@/nonmirplugins");
75+ paths << QString(buildDirectory() + "/nonmirplugins");
67 return paths;
77 return paths;
@@ -77,7 +87,7 @@ inline QStringList fallbackImportPaths() {
78 paths << QString("@USS_PRIVATE_PLUGINDIR@");
88 paths << QString("@USS_PRIVATE_PLUGINDIR@");
79 paths << QString("@SHELL_PLUGINDIR@");
89 paths << QString("@SHELL_PLUGINDIR@");
80− paths << QString("@CMAKE_BINARY_DIR@/tests/mocks");
90+ paths << QString(buildDirectory() + "/tests/mocks");
82 return paths;
92 return paths;
@@ -86,7 +96,7 @@ inline QString mockPluginsDir() {
86 if (isRunningInstalled()) {
96 if (isRunningInstalled()) {
87 return QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
97 return QString("@CMAKE_INSTALL_PREFIX@/@SHELL_INSTALL_QML@/mocks");
89− return QString("@CMAKE_BINARY_DIR@/tests/mocks");
99+ return QString(buildDirectory() + "/tests/mocks");
@@ -99,10 +109,6 @@ inline QStringList shellDataDirs() {
99 return dirs;
109 return dirs;
102−inline QString sourceDirectory() {
103− return QString("@CMAKE_SOURCE_DIR@/");
106inline void prependImportPaths(QQmlEngine *engine, const QStringList &paths)
112inline void prependImportPaths(QQmlEngine *engine, const QStringList &paths)
108 QStringList importPathList = engine->importPathList();
114 QStringList importPathList = engine->importPathList();