From 4e158b30657430e3a02c80f8800c9cdbb5030780 Mon Sep 17 00:00:00 2001 From: taynpg Date: Mon, 17 Feb 2025 18:29:23 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=B7=BB=E5=8A=A0=E6=94=AF?= =?UTF-8?q?=E6=8C=81musl=E9=9D=99=E6=80=81=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.sh | 2 -- client/CMakeLists.txt | 13 ++++++++++++- config/MSystem.cmake | 6 ++++-- filecomplete | 2 +- ofen | 2 +- server/CMakeLists.txt | 13 ++++++++++++- 6 files changed, 30 insertions(+), 8 deletions(-) diff --git a/build.sh b/build.sh index 3c75792..aff31f2 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,3 @@ -#!/bin/bash - # 默认构建命令 build_command="cmake -Bbuild -DCMAKE_BUILD_TYPE=Release" build_command_release="cmake --build build --config Release" diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 85d00d2..455707f 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -23,4 +23,15 @@ endif() if(DEFINED MINGW32_XP_BOOST) target_link_directories(tsc PRIVATE ${MBOOST_LIB_DIR}) target_link_libraries(tsc PRIVATE ${MBOOST_LIBS}) -endif() \ No newline at end of file +endif() +if(UNIX) +execute_process( + COMMAND uname -a + OUTPUT_VARIABLE UNAME_OUT + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(UNAME_OUT MATCHES "alpine" OR UNAME_OUT MATCHES "Alpine") +message(STATUS "tsc on musl static link") +target_link_libraries(tsc PRIVATE -static;-static-libstdc++) +endif() +endif() diff --git a/config/MSystem.cmake b/config/MSystem.cmake index 5f0233d..bc41589 100644 --- a/config/MSystem.cmake +++ b/config/MSystem.cmake @@ -19,7 +19,9 @@ elseif(UNAME_OUTPUT MATCHES "riscv64") else() set(SYSTEM_ARCH "unknown") endif() - +if(UNAME_OUTPUT MATCHES "alpine" OR UNAME_OUTPUT MATCHES "Alpine") + set(SYSTEM_ARCH "musl_${SYSTEM_ARCH}") +endif() elseif (WIN32) # 先调用 ver 命令 execute_process(COMMAND cmd /c ver @@ -41,4 +43,4 @@ elseif (WIN32) else() message(FATAL_ERROR "unknow system type.") endif() -message(STATUS "SYSTEM_ARCH: ${SYSTEM_ARCH}") \ No newline at end of file +message(STATUS "SYSTEM_ARCH: ${SYSTEM_ARCH}") diff --git a/filecomplete b/filecomplete index a7c6434..86e71fb 160000 --- a/filecomplete +++ b/filecomplete @@ -1 +1 @@ -Subproject commit a7c6434a7c333a19727aeab8212d20604426b701 +Subproject commit 86e71fbb462efce80e601db0807bca0887829836 diff --git a/ofen b/ofen index 36e05d2..c4572bb 160000 --- a/ofen +++ b/ofen @@ -1 +1 @@ -Subproject commit 36e05d261821048a4c2fec1042434dd2dfc9b6de +Subproject commit c4572bbfef4b39d40f8f530aecdf0998d1821232 diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index aa3bc8e..1c54891 100644 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -22,4 +22,15 @@ if (UNIX) endif() if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_SYSTEM_NAME MATCHES "Windows") target_link_libraries(tss PRIVATE ws2_32 wsock32) -endif() \ No newline at end of file +endif() +if(UNIX) +execute_process( + COMMAND uname -a + OUTPUT_VARIABLE UNAME_OUT + OUTPUT_STRIP_TRAILING_WHITESPACE +) +if(UNAME_OUT MATCHES "alpine" OR UNAME_OUT MATCHES "Alpine") +message(STATUS "on musl static link") +target_link_libraries(tss PRIVATE -static;-static-libstdc++) +endif() +endif()