pack:打包配置。

This commit is contained in:
taynpg 2025-02-16 13:07:11 +08:00
parent ceed885924
commit 676f04e752
4 changed files with 22 additions and 28 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ cmake-*
.xmake
compile_commands.json
out
xpbuild

View File

@ -4,6 +4,8 @@ project(transm VERSION 1.2.3 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# CMAKE_SYSTEM_PROCESSOR
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" CMAKE_SYSTEM_PROCESSOR_LOWER)
set(COMPILER_ID ${CMAKE_CXX_COMPILER_ID})
if(MSVC)
add_compile_options(/source-charset:utf-8)
@ -75,6 +77,7 @@ endif()
# ********************************************************** pack infomation
set(CPACK_PACKAGE_NAME "transm")
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
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")
@ -82,23 +85,21 @@ if(WIN32)
set(CPACK_NSIS_MODIFY_PATH ON)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(CPACK_GENERATOR "NSIS64;ZIP")
set(ARCH_SUFFIX "win64")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(CPACK_GENERATOR "NSIS;ZIP")
set(ARCH_SUFFIX "win32")
else()
message(WARNING "Unknown target architecture")
message(FATAL_ERROR "Unknown target architecture")
endif()
set(CPACK_NSIS_INSTALL_ROOT "$PROFILE")
set(CPACK_PACKAGE_INSTALL_DIRECTORY "transm")
elseif(UNIX AND NOT APPLE)
set(CPACK_GENERATOR "DEB;TGZ")
set(ARCH_SUFFIX "amd64")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
set(CPACK_GENERATOR "DEB;TGZ;RPM")
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()
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-v${PROJECT_VERSION}-${COMPILER_ID}.${ARCH_SUFFIX}")
# "" 使 -m32
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-v${PROJECT_VERSION}-${COMPILER_ID}.${CMAKE_SYSTEM_PROCESSOR_LOWER}")
include(CPack)

View File

@ -6,6 +6,8 @@
低版本编译器,可选择`boost`+`c++11`标准组合。
**注**:使用安装包的用户,如果想变更安装位置的话,请先卸载旧版本。
# 一、简要介绍
| 主要功能序号 | 简介 |
@ -128,11 +130,15 @@ cmake:`cmake -Bbuild -DCMAKE_BUILD_TYPE=Release`、`cmake --build build --conf
### 前提
- `cmake`支持windows XP的版本过低,故使用`xmake`
- 支持`XP``msvc`编译器不支持新`C++语法标准`,故使用`mingw32`编译器。
- 支持`xp``mingw32`编译器的`c++17`标准的`filesystem`模块还是实验性质且有编译`BUG`,故使用`boost-filesystem`
- 需要一个最低`3.16`版本的`cmake`
### 编译
- 构建选项:`xmake f -p mingw -a i386 --boost=y --xp=y`
- 环境变量定义:`BOOST_HEADER_DIR``BOOST_LIB_DIR``BOOST_LIBS`
请参照:`xp_build.bat`
# 其他
- `xp`系统下,安装后(或者添加环境变量后),如果时第一次使用请先执行`ansicon -i`以支持彩色显示,后续则不用再次执行(如果没有卸载过或变更安装位置)。

View File

@ -1,24 +1,10 @@
@echo off
echo Setting environment variables...
set BOOST_HEADER_DIR=C:\boost\include\boost-1_83
set BOOST_LIB_DIR=C:\boost\lib
set BOOST_LIBS=boost_filesystem-mgw7-mt-x32-1_83
echo Configuring xmake...
xmake f -p mingw -a i386 --boost=y --xp=y
cmake -Bxpbuild -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
cd xpbuild
cpack
if %errorlevel% neq 0 (
echo Error: xmake configuration failed.
pause
exit /b 1
)
echo BOOST_HEADER_DIR=%BOOST_HEADER_DIR%
echo BOOST_LIB_DIR=%BOOST_LIB_DIR%
echo BOOST_LIBS=%BOOST_LIBS%
echo Building project with xmake...
xmake
if %errorlevel% neq 0 (
echo Error: xmake build failed.
echo Error: cmake build failed.
pause
exit /b 1
)