summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Klotz <uklotz@mixxx.org>2021-04-11 18:18:27 +0200
committerGitHub <noreply@github.com>2021-04-11 18:18:27 +0200
commit3368023862a595807d0d9cc1237947a794899a18 (patch)
treea4bcc69c56735c5b6795cd7361469d88085ccbae
parenta49f56df411249428dd4353e4497ca7892673d08 (diff)
parent735a3e9d7721de483fca0eb9d815bf12925e674f (diff)
Merge pull request #3773 from Holzhaus/config-h-in
CMake: Use config.h.in instead of command line defintions for paths
-rw-r--r--CMakeLists.txt3
-rw-r--r--src/config.h.in3
-rw-r--r--src/controllers/defs_controllers.h2
-rw-r--r--src/preferences/upgrade.cpp28
-rw-r--r--src/util/cmdlineargs.cpp36
5 files changed, 40 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b7e12ef7df..3d83c90269 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1011,9 +1011,8 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
)
set_target_properties(mixxx-lib PROPERTIES AUTOMOC ON AUTOUIC ON CXX_CLANG_TIDY "${CLANG_TIDY}")
target_include_directories(mixxx-lib PUBLIC src "${CMAKE_CURRENT_BINARY_DIR}/src")
-target_compile_definitions(mixxx-lib PRIVATE SETTINGS_FILE="mixxx.cfg")
if(UNIX AND NOT APPLE)
- target_compile_definitions(mixxx-lib PRIVATE SETTINGS_PATH=".mixxx/")
+ set(MIXXX_SETTINGS_PATH ".mixxx/")
endif()
# Disable warnings in generated source files
diff --git a/src/config.h.in b/src/config.h.in
index fdddc2985b..bba756ec4c 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -1 +1,4 @@
+#define MIXXX_SETTINGS_FILE "mixxx.cfg"
+
+#cmakedefine MIXXX_SETTINGS_PATH "@MIXXX_SETTINGS_PATH@"
#cmakedefine MIXXX_INSTALL_DOCDIR_RELATIVE_TO_DATADIR "@MIXXX_INSTALL_DOCDIR_RELATIVE_TO_DATADIR@"
diff --git a/src/controllers/defs_controllers.h b/src/controllers/defs_controllers.h
index 49e36a8823..79a524e633 100644
--- a/src/controllers/defs_controllers.h
+++ b/src/controllers/defs_controllers.h
@@ -9,7 +9,7 @@ inline QString resourcePresetsPath(UserSettingsPointer pConfig) {
return dir.absolutePath().append("/");
}
-// Prior to Mixxx 1.11.0 presets were stored in ${SETTINGS_PATH}/midi.
+// Prior to Mixxx 1.11.0 presets were stored in ${MIXXX_SETTINGS_PATH}/midi.
inline QString legacyUserPresetsPath(UserSettingsPointer pConfig) {
QString presetsPath = pConfig->getSettingsPath();
QDir dir(presetsPath.append("/midi/"));
diff --git a/src/preferences/upgrade.cpp b/src/preferences/upgrade.cpp
index a5aeb415e6..afc8961b1b 100644
--- a/src/preferences/upgrade.cpp
+++ b/src/preferences/upgrade.cpp
@@ -1,22 +1,23 @@
#include "preferences/upgrade.h"
-#include <QPixmap>
#include <QMessageBox>
+#include <QPixmap>
#include <QPushButton>
-#include <QTranslator>
#include <QScopedPointer>
+#include <QTranslator>
-#include "preferences/usersettings.h"
-#include "preferences/beatdetectionsettings.h"
-#include "database/mixxxdb.h"
+#include "config.h"
#include "controllers/defs_controllers.h"
+#include "database/mixxxdb.h"
#include "defs_version.h"
#include "library/library_preferences.h"
#include "library/trackcollection.h"
+#include "preferences/beatdetectionsettings.h"
+#include "preferences/usersettings.h"
#include "util/cmdlineargs.h"
-#include "util/math.h"
-#include "util/db/dbconnectionpooler.h"
#include "util/db/dbconnectionpooled.h"
+#include "util/db/dbconnectionpooler.h"
+#include "util/math.h"
Upgrade::Upgrade()
: m_bFirstRun(false),
@@ -143,7 +144,7 @@ UserSettingsPointer Upgrade::versionUpgrade(const QString& settingsPath) {
#else
oldFilePath = oldLocation.filePath(".mixxx.cfg");
#endif
- newFilePath = newLocation.filePath(SETTINGS_FILE);
+ newFilePath = newLocation.filePath(MIXXX_SETTINGS_FILE);
oldFile = new QFile(oldFilePath);
if (oldFile->copy(newFilePath)) {
oldFile->remove();
@@ -176,7 +177,7 @@ UserSettingsPointer Upgrade::versionUpgrade(const QString& settingsPath) {
// Read the config file from home directory
UserSettingsPointer config(new ConfigObject<ConfigValue>(
- QDir(settingsPath).filePath(SETTINGS_FILE)));
+ QDir(settingsPath).filePath(MIXXX_SETTINGS_FILE)));
QString configVersion = config->getValueString(ConfigKey("[Config]","Version"));
@@ -188,7 +189,8 @@ UserSettingsPointer Upgrade::versionUpgrade(const QString& settingsPath) {
QScopedPointer<QFile> oldConfigFile(new QFile(QDir::homePath().append("/").append(".mixxx/mixxx.cfg")));
if (oldConfigFile->exists() && ! CmdlineArgs::Instance().getSettingsPathSet()) {
qDebug() << "Found pre-1.9.0 config for OS X";
- // Note: We changed SETTINGS_PATH in 1.9.0 final on OS X so it must be hardcoded to ".mixxx" here for legacy.
+ // Note: We changed MIXXX_SETTINGS_PATH in 1.9.0 final on OS X so
+ // it must be hardcoded to ".mixxx" here for legacy.
config = UserSettingsPointer(new ConfigObject<ConfigValue>(
QDir::homePath().append("/.mixxx/mixxx.cfg")));
// Just to be sure all files like logs and soundconfig go with mixxx.cfg
@@ -204,7 +206,9 @@ UserSettingsPointer Upgrade::versionUpgrade(const QString& settingsPath) {
QScopedPointer<QFile> oldConfigFile(new QFile(QDir::homePath().append("/Local Settings/Application Data/Mixxx/mixxx.cfg")));
if (oldConfigFile->exists() && ! CmdlineArgs::Instance().getSettingsPathSet()) {
qDebug() << "Found pre-1.12.0 config for Windows";
- // Note: We changed SETTINGS_PATH in 1.12.0 final on Windows so it must be hardcoded to "Local Settings/Application Data/Mixxx/" here for legacy.
+ // Note: We changed MIXXX_SETTINGS_PATH in 1.12.0 final on Windows
+ // so it must be hardcoded to "Local Settings/Application
+ // Data/Mixxx/" here for legacy.
config = UserSettingsPointer(new ConfigObject<ConfigValue>(
QDir::homePath().append("/Local Settings/Application Data/Mixxx/mixxx.cfg")));
// Just to be sure all files like logs and soundconfig go with mixxx.cfg
@@ -317,7 +321,7 @@ UserSettingsPointer Upgrade::versionUpgrade(const QString& settingsPath) {
// Reload the configuration file from the new location.
// (We want to make sure we save to the new location...)
config = UserSettingsPointer(new ConfigObject<ConfigValue>(
- QDir(settingsPath).filePath(SETTINGS_FILE)));
+ QDir(settingsPath).filePath(MIXXX_SETTINGS_FILE)));
#endif
configVersion = "1.9.0";
config->set(ConfigKey("[Config]","Version"), ConfigValue("1.9.0"));
diff --git a/src/util/cmdlineargs.cpp b/src/util/cmdlineargs.cpp
index 4b1f530681..027027978e 100644
--- a/src/util/cmdlineargs.cpp
+++ b/src/util/cmdlineargs.cpp
@@ -1,29 +1,31 @@
+#include "util/cmdlineargs.h"
+
#include <stdio.h>
#include <QStandardPaths>
-#include "util/cmdlineargs.h"
-#include "util/version.h"
-
+#include "config.h"
#include "sources/soundsourceproxy.h"
-
+#include "util/version.h"
CmdlineArgs::CmdlineArgs()
- : m_startInFullscreen(false), // Initialize vars
- m_midiDebug(false),
- m_developer(false),
- m_safeMode(false),
- m_debugAssertBreak(false),
- m_settingsPathSet(false),
- m_logLevel(mixxx::kLogLevelDefault),
- m_logFlushLevel(mixxx::kLogFlushLevelDefault),
+ : m_startInFullscreen(false), // Initialize vars
+ m_midiDebug(false),
+ m_developer(false),
+ m_safeMode(false),
+ m_debugAssertBreak(false),
+ m_settingsPathSet(false),
+ m_logLevel(mixxx::kLogLevelDefault),
+ m_logFlushLevel(mixxx::kLogFlushLevelDefault),
// We are not ready to switch to XDG folders under Linux, so keeping $HOME/.mixxx as preferences folder. see lp:1463273
-#ifdef __LINUX__
- m_settingsPath(QDir::homePath().append("/").append(SETTINGS_PATH)) {
+#ifdef MIXXX_SETTINGS_PATH
+ m_settingsPath(QDir::homePath().append("/").append(MIXXX_SETTINGS_PATH)) {
#else
- // TODO(XXX) Trailing slash not needed anymore as we switches from String::append
- // to QDir::filePath elsewhere in the code. This is candidate for removal.
- m_settingsPath(QStandardPaths::writableLocation(QStandardPaths::DataLocation).append("/")) {
+ // TODO(XXX) Trailing slash not needed anymore as we switches from String::append
+ // to QDir::filePath elsewhere in the code. This is candidate for removal.
+ m_settingsPath(
+ QStandardPaths::writableLocation(QStandardPaths::DataLocation)
+ .append("/")) {
#endif
}