From 6cc3de8e4405788fd92d4dc82e6a2424addc0d64 Mon Sep 17 00:00:00 2001 From: Daniel Dada Date: Mon, 8 Dec 2025 16:21:20 +0300 Subject: [PATCH] create deb with cpack --- CMakeLists.txt | 10 ++++++++-- src/core/config/config.cpp | 11 +++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 696b7bd..c2e6f23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,9 +199,15 @@ set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) set(CPACK_NSIS_MENU_LINKS "bin/clrsync_gui.exe" "clrsync") set(CPACK_NSIS_CREATE_DESKTOP_LINKS "bin/clrsync_gui.exe;clrsync") +set(CPACK_GENERATOR "DEB") +set(CPACK_PACKAGE_NAME "clrsync") +set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) +set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Daniel Dada ") +set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.31), libglfw3, libfreetype6") +set(CPACK_DEBIAN_PACKAGE_SECTION "utils") +set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") + message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") -message(STATUS "CMAKE_INSTALL_DATADIR: ${CMAKE_INSTALL_DATADIR}") message(STATUS "CMAKE_INSTALL_FULL_DATADIR: ${CMAKE_INSTALL_FULL_DATADIR}") -message(STATUS "CMAKE_SIZEOF_VOID_P: ${CMAKE_SIZEOF_VOID_P}") include(CPack) diff --git a/src/core/config/config.cpp b/src/core/config/config.cpp index 29495b2..0380413 100644 --- a/src/core/config/config.cpp +++ b/src/core/config/config.cpp @@ -37,7 +37,10 @@ std::filesystem::path config::get_user_config_dir() #endif } -std::filesystem::path config::get_data_dir() { +std::filesystem::path config::get_data_dir() +{ + if (std::filesystem::exists(CLRSYNC_DATADIR)) + return {CLRSYNC_DATADIR}; #ifdef _WIN32 char buffer[MAX_PATH]; GetModuleFileNameA(nullptr, buffer, MAX_PATH); @@ -45,7 +48,11 @@ std::filesystem::path config::get_data_dir() { std::filesystem::path data_dir = exe_path.parent_path().parent_path() / "share" / "clrsync"; return data_dir; #else - return {CLRSYNC_DATADIR}; + if (std::filesystem::exists("/usr/share/clrsync")) + return {"/usr/share/clrsync"}; + if (std::filesystem::exists("/usr/local/share/clrsync")) + return {"/usr/local/share/clrsync"}; + return {}; #endif }