diff --git a/CMakeLists.txt b/CMakeLists.txt index e108cb02c3d..c7f937934e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,19 +138,6 @@ if (NOT OWNCLOUD_ICONS) endif() MESSAGE(STATUS "OWNCLOUD_ICONS: ${APPLICATION_ICON_NAME}: ${OWNCLOUD_ICONS}") -set(EXCLUDE_FILE_NAME "sync-exclude.lst") - -if(APPLE) - list(APPEND OWNCLOUD_BUNDLED_RESOURCES "${CMAKE_CURRENT_SOURCE_DIR}/${EXCLUDE_FILE_NAME}") -else() - configure_file("${EXCLUDE_FILE_NAME}" "bin/${EXCLUDE_FILE_NAME}" COPYONLY) - if(WIN32) - install(FILES "${EXCLUDE_FILE_NAME}" DESTINATION bin) - else() - install(FILES "${EXCLUDE_FILE_NAME}" DESTINATION ${KDE_INSTALL_SYSCONFDIR}/${APPLICATION_SHORTNAME}) - endif() -endif() - add_subdirectory(src) if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/admin) add_subdirectory(admin) diff --git a/src/libsync/CMakeLists.txt b/src/libsync/CMakeLists.txt index 3fae85fabb8..5c5278c306f 100644 --- a/src/libsync/CMakeLists.txt +++ b/src/libsync/CMakeLists.txt @@ -78,6 +78,7 @@ INSTALL( ) add_library(libsync SHARED ${libsync_SRCS} + libsync.qrc creds/credentialssupport.h) set_target_properties(libsync PROPERTIES EXPORT_NAME SyncCore) @@ -106,11 +107,6 @@ ecm_add_qml_module(libsync ecm_finalize_qml_module(libsync DESTINATION ${KDE_INSTALL_QMLDIR}) -set_source_files_properties(configfile.cpp - PROPERTIES - COMPILE_DEFINITIONS EXCLUDE_FILE_NAME="${EXCLUDE_FILE_NAME}" -) - target_link_libraries(libsync PUBLIC $) add_subdirectory(graphapi) diff --git a/src/libsync/configfile.cpp b/src/libsync/configfile.cpp index aacd4b27b80..4d945e04e63 100644 --- a/src/libsync/configfile.cpp +++ b/src/libsync/configfile.cpp @@ -92,8 +92,7 @@ const QString issuesWidgetFilterC() QString excludeFileNameC() { - static_assert(!std::string_view(EXCLUDE_FILE_NAME).empty()); - return QStringLiteral(EXCLUDE_FILE_NAME); + return QStringLiteral("sync-exclude.lst"); } } // anonymous namespace @@ -253,35 +252,7 @@ QString ConfigFile::excludeFile(Scope scope) const QString ConfigFile::excludeFileFromSystem() { - QFileInfo fi; -#ifdef Q_OS_WIN - fi.setFile(QCoreApplication::applicationDirPath(), excludeFileNameC()); -#endif -#ifdef Q_OS_UNIX - fi.setFile(QStringLiteral(SYSCONFDIR "/%1").arg(Theme::instance()->appName()), excludeFileNameC()); - if (!fi.exists()) { - // Prefer to return the preferred path! Only use the fallback location - // if the other path does not exist and the fallback is valid. - QFileInfo nextToBinary(QCoreApplication::applicationDirPath(), excludeFileNameC()); - if (nextToBinary.exists()) { - fi = nextToBinary; - } else { - // use from install tree (e.g., AppImage, local dev installation) - // for example, if the binary is in .../AppDir/usr/bin/, the exclude file will be in .../AppDir/usr/etc// - QFileInfo relativeToBinary( - QStringLiteral("%1/../etc/%2/%3").arg(QCoreApplication::applicationDirPath(), Theme::instance()->appName(), excludeFileNameC())); - if (relativeToBinary.exists()) { - fi = relativeToBinary; - } - } - } -#endif -#ifdef Q_OS_MAC - // exec path is inside the bundle - fi.setFile(QCoreApplication::applicationDirPath(), QLatin1String("../Resources/") + excludeFileNameC()); -#endif - - return fi.absoluteFilePath(); + return ":/libsync/sync-exclude.lst"; } QString ConfigFile::backup() const diff --git a/src/libsync/libsync.qrc b/src/libsync/libsync.qrc new file mode 100644 index 00000000000..6342c4490f9 --- /dev/null +++ b/src/libsync/libsync.qrc @@ -0,0 +1,5 @@ + + + sync-exclude.lst + + diff --git a/sync-exclude.lst b/src/libsync/sync-exclude.lst similarity index 100% rename from sync-exclude.lst rename to src/libsync/sync-exclude.lst diff --git a/test/testexcludedfiles.cpp b/test/testexcludedfiles.cpp index c60c765e268..84d5cbd6297 100644 --- a/test/testexcludedfiles.cpp +++ b/test/testexcludedfiles.cpp @@ -14,7 +14,7 @@ using namespace OCC; namespace { -const QString excludeListFileC = QStringLiteral(SOURCEDIR "/sync-exclude.lst"); +const QString excludeListFileC = QStringLiteral(":/libsync/sync-exclude.lst"); } // The tests were converted from the old CMocka framework, that's why there is a global static QScopedPointer excludedFiles;