From a564472199c5fb1b30ac2be7fc822deced1617f8 Mon Sep 17 00:00:00 2001
From: taynpg <taynpg@163.com>
Date: Fri, 14 Feb 2025 20:43:37 +0800
Subject: [PATCH] =?UTF-8?q?pack=EF=BC=9A=E4=BF=AE=E6=AD=A3win=E4=B8=8Bnsis?=
 =?UTF-8?q?=E6=89=93=E5=8C=85=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CMakeLists.txt | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ab5bd83..ebf0af2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,9 +20,6 @@ message(STATUS "INPUT IOS_ISH ${IOS_ISH}")
 endif()
 
 set(CMAKE_DEBUG_POSTFIX "d")
-message(STATUS "System: ${CMAKE_SYSTEM_NAME}")
-message(STATUS "Compiler CXX ID: ${CMAKE_CXX_COMPILER_ID}")
-
 set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE})
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
     ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}/
@@ -59,15 +56,27 @@ message(STATUS "build dir:${PROJECT_BINARY_DIR}")
 install(TARGETS tsc DESTINATION bin)
 install(TARGETS tss DESTINATION bin)
 
-# 4. 配置 DEB 打包参数
 set(CPACK_PACKAGE_NAME "transm")
 set(CPACK_PACKAGE_VERSION "1.2.3")
 set(CPACK_PACKAGE_CONTACT "taynpg <taynpg@163.com>")
 set(CPACK_PACKAGE_DESCRIPTION "A simple tool that uses a server (tss) as a relay center to indirectly transfer files between two (or more) clients (tsc).")
 set(CPACK_PACKAGE_VENDOR "taynpg")
-set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
-set(CPACK_DEBIAN_PACKAGE_SECTION "utils")
-set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-set(CPACK_DEBIAN_PACKAGE_MAINTAINER "taynpg <taynpg@163.com>")
-set(CPACK_GENERATOR "DEB")
+if(WIN32)
+set(CPACK_NSIS_MODIFY_PATH ON)
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+    set(CPACK_GENERATOR "NSIS64")
+elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
+    set(CPACK_GENERATOR "NSIS")
+else()
+    message(WARNING "Unknown target architecture")
+endif()
+elseif(UNIX AND NOT APPLE)
+    set(CPACK_GENERATOR "DEB")
+    set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
+    set(CPACK_DEBIAN_PACKAGE_SECTION "utils")
+    set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+    set(CPACK_DEBIAN_PACKAGE_MAINTAINER "taynpg <taynpg@163.com>")
+elseif(APPLE)
+    set(CPACK_GENERATOR "DragNDrop")
+endif()
 include(CPack)