Currently all ELF files (binaries and libraries), get installed to /usr/share/musikcube. This patch moves all those files to their normal locations and fixes the code to expect that diff --git CMakeLists.txt CMakeLists.txt index f865a110..e9536178 100644 --- CMakeLists.txt +++ CMakeLists.txt @@ -181,7 +181,7 @@ if (CMAKE_SYSTEM_NAME MATCHES "Darwin") install(FILES ${plugins} DESTINATION share/musikcube/plugins) else () file(GLOB plugins "bin/plugins/*.so") - install(FILES ${plugins} DESTINATION share/musikcube/plugins) + install(FILES ${plugins} DESTINATION lib/musikcube/plugins) endif () file(GLOB sdk_headers "src/core/sdk/*.h") @@ -199,20 +199,12 @@ install(FILES ${locales} DESTINATION share/musikcube/locales) if (CMAKE_SYSTEM_NAME MATCHES "Darwin") install(FILES "bin/libmusikcore.dylib" DESTINATION share/musikcube) else () - install(FILES "bin/libmusikcore.so" DESTINATION share/musikcube) + install(FILES "bin/libmusikcore.so" DESTINATION lib/) endif () # executable and shell script for musikcube install( FILES bin/musikcube - DESTINATION share/musikcube - PERMISSIONS - OWNER_EXECUTE OWNER_READ OWNER_WRITE - GROUP_EXECUTE GROUP_READ GROUP_WRITE - WORLD_EXECUTE WORLD_READ) - -install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/src/musikcube/musikcube" DESTINATION bin/ PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE @@ -222,14 +214,6 @@ install( # executable and shell script for daemon install( FILES bin/musikcubed - DESTINATION share/musikcube - PERMISSIONS - OWNER_EXECUTE OWNER_READ OWNER_WRITE - GROUP_EXECUTE GROUP_READ GROUP_WRITE - WORLD_EXECUTE WORLD_READ) - -install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/src/musikcubed/musikcubed" DESTINATION bin/ PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE diff --git src/core/support/Common.cpp src/core/support/Common.cpp index 43e7a3ed..0ee3c8c0 100644 --- src/core/support/Common.cpp +++ src/core/support/Common.cpp @@ -80,49 +80,11 @@ static inline void silentDelete(const std::string fn) { namespace musik { namespace core { std::string GetPluginDirectory() { - std::string path(GetApplicationDirectory()); - path.append("/plugins/"); - return path; + return std::string("/usr/lib/musikcube/plugins"); } std::string GetApplicationDirectory() { - std::string result; - - #ifdef WIN32 - wchar_t widePath[2048]; - int length = GetModuleFileName(NULL, widePath, 2048); - if (length != 0 && length < 2048) { - result.assign(GetPath(u16to8(widePath).c_str())); - } - #elif __APPLE__ - char pathbuf[PATH_MAX + 1]; - uint32_t bufsize = sizeof(pathbuf); - _NSGetExecutablePath(pathbuf, &bufsize); - result.assign(pathbuf); - size_t last = result.find_last_of("/"); - result = result.substr(0, last); /* remove filename component */ - #else - char pathbuf[PATH_MAX + 1] = { 0 }; - - #ifdef __FreeBSD__ - int mib[4]; - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_PATHNAME; - mib[3] = -1; - size_t bufsize = sizeof(pathbuf); - sysctl(mib, 4, pathbuf, &bufsize, nullptr, 0); - #else - std::string pathToProc = u8fmt("/proc/%d/exe", (int) getpid()); - readlink(pathToProc.c_str(), pathbuf, PATH_MAX); - #endif - - result.assign(pathbuf); - size_t last = result.find_last_of("/"); - result = result.substr(0, last); /* remove filename component */ - #endif - - return result; + return std::string("/usr/share/musikcube"); } std::string GetHomeDirectory() {