Satoshi Yoneda преди 2 седмици
родител
ревизия
8a3de42d61
променени са 10 файла, в които са добавени 104 реда и са изтрити 9 реда
  1. 17 2
      CMakeLists.txt
  2. 7 6
      Deploy/AppxManifest.xml.in
  3. 5 0
      debian/changelog
  4. 22 0
      debian/control
  5. 30 0
      debian/copyright
  6. 9 0
      debian/dupfind.desktop
  7. 7 0
      debian/rules
  8. 1 0
      debian/source/format
  9. 5 0
      resources.qrc
  10. 1 1
      src/MainWindow.cpp

+ 17 - 2
CMakeLists.txt

@@ -61,6 +61,7 @@ set_target_properties(DupFindCore PROPERTIES SOURCES "${CORE_SOURCES}")
 qt_add_executable(${PROJECT_NAME}
     src/main.cpp
     ${app_icon}
+    resources.qrc
 )
 
 target_link_libraries(${PROJECT_NAME} PRIVATE DupFindCore)
@@ -90,6 +91,21 @@ qt_add_translations(${PROJECT_NAME}
 add_executable(DupFindCmd src/CmdMain.cpp)
 target_link_libraries(DupFindCmd PRIVATE DupFindCore)
 
+# -----------------------------------------------------------------------------
+# Installation
+# -----------------------------------------------------------------------------
+include(GNUInstallDirs)
+install(TARGETS ${PROJECT_NAME} DupFindCmd
+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
+# Desktop file and Icon (only for Linux)
+if(NOT WIN32)
+    install(FILES debian/dupfind.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
+    install(FILES Deploy/Assets/Square150x150Logo.png 
+            DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps 
+            RENAME dupfind.png)
+endif()
+
 # -----------------------------------------------------------------------------
 # Deployment Configuration (Windows)
 # -----------------------------------------------------------------------------
@@ -128,8 +144,7 @@ if(WIN32)
         COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:${PROJECT_NAME}>" "${DEPLOY_DIR}/"
         COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:DupFindCmd>" "${DEPLOY_DIR}/"
         
-        # 3. リソースディレクトリのコピー
-        COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/resources" "${DEPLOY_DIR}/resources"
+# 3. リソースディレクトリのコピーは不要になったため削除
         
         # 4. vcpkgがビルドディレクトリに出力した サードパーティDLL (OpenCV, SQLiteなど) の収集
         COMMAND powershell -NoProfile -Command "Copy-Item -Path '$<TARGET_FILE_DIR:${PROJECT_NAME}>/*.dll' -Destination '${DEPLOY_DIR}/' -Force -ErrorAction SilentlyContinue"

+ 7 - 6
Deploy/AppxManifest.xml.in

@@ -11,8 +11,8 @@
   <!-- 1. パッケージの識別情報                        -->
   <!-- ============================================== -->
   <Identity
-    Name="Satoyon.DupFind"
-    Publisher="CN=Satoyon"
+    Name="GADGETLTD.DupFind"
+    Publisher="CN=84FCE42E-3838-44A0-93FD-65D146092DD3"
     Version="@PROJECT_VERSION@.0"
     ProcessorArchitecture="x64" />
 
@@ -21,7 +21,7 @@
   <!-- ============================================== -->
   <Properties>
     <DisplayName>DupFind</DisplayName>
-    <PublisherDisplayName>Satoyon</PublisherDisplayName>
+    <PublisherDisplayName>GADGET LTD</PublisherDisplayName>
     <Logo>Assets\StoreLogo.png</Logo>
   </Properties>
 
@@ -50,7 +50,8 @@
         Description="GUI version of Duplicate Image Finder"
         BackgroundColor="transparent"
         Square150x150Logo="Assets\Square150x150Logo.png"
-        Square44x44Logo="Assets\Square44x44Logo.png">
+        Square44x44Logo="Assets\Square44x44Logo.png"
+        AppListEntry="default">
         <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png"/>
         <uap:SplashScreen Image="Assets\SplashScreen.png" />
       </uap:VisualElements>
@@ -61,9 +62,9 @@
         DisplayName="DupFind CLI"
         Description="Command line interface for DupFind"
         BackgroundColor="transparent"
-        AppListEntry="none" 
         Square150x150Logo="Assets\Square150x150Logo.png"
-        Square44x44Logo="Assets\Square44x44Logo.png">
+        Square44x44Logo="Assets\Square44x44Logo.png"
+        AppListEntry="default">
         </uap:VisualElements>
 
       <Extensions>

+ 5 - 0
debian/changelog

@@ -0,0 +1,5 @@
+dupfind (0.3.0-1) unstable; urgency=low
+
+  * Initial release of DupFind.
+
+ -- Satoyon <satoyon@example.com>  Fri, 17 Apr 2026 09:52:00 +0900

+ 22 - 0
debian/control

@@ -0,0 +1,22 @@
+Source: dupfind
+Section: utils
+Priority: optional
+Maintainer: Satoyon <satoyon@example.com>
+Build-Depends: debhelper-compat (= 13),
+               cmake,
+               qt6-base-dev,
+               qt6-icu-dev,
+               qt6-l10n-tools,
+               libopencv-dev,
+               libsqlite3-dev,
+               libprotobuf-dev,
+               protobuf-compiler
+Standards-Version: 4.5.0
+Homepage: https://github.com/satoyon/DupFind
+
+Package: dupfind
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Duplicate image find utility using dHash and pHash.
+ DupFind is a GUI and CLI tool that helps you find and manage
+ duplicate or similar images based on their visual content.

+ 30 - 0
debian/copyright

@@ -0,0 +1,30 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: DupFind
+Source: https://github.com/satoyon/DupFind
+
+Files: *
+Copyright: 2026 Satoyon
+License: MIT
+
+Files: debian/*
+Copyright: 2026 Satoyon
+License: MIT
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.

+ 9 - 0
debian/dupfind.desktop

@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=DupFind
+Comment=Find and manage duplicate images
+Exec=DupFind
+Icon=dupfind
+Terminal=false
+Categories=Utility;Graphics;
+Keywords=duplicate;image;search;similarity;

+ 7 - 0
debian/rules

@@ -0,0 +1,7 @@
+#!/usr/bin/make -f
+
+%:
+	dh $@
+
+override_dh_auto_configure:
+	dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release

+ 1 - 0
debian/source/format

@@ -0,0 +1 @@
+3.0 (native)

+ 5 - 0
resources.qrc

@@ -0,0 +1,5 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource prefix="/styles">
+    <file>resources/style.qss</file>
+</qresource>
+</RCC>

+ 1 - 1
src/MainWindow.cpp

@@ -56,7 +56,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
           &MainWindow::onSearchFinished);
 
   // スタイルの適用
-  QFile styleFile("resources/style.qss");
+  QFile styleFile(":/styles/resources/style.qss");
   if (styleFile.open(QFile::ReadOnly)) {
     QString styleSheet = QLatin1String(styleFile.readAll());
     setStyleSheet(styleSheet);