From 0ffb86d5a07d3fed5344bcc076f736c5c89ce66e Mon Sep 17 00:00:00 2001 From: 1585346868 <1585346868@qq.com> Date: Wed, 15 Apr 2026 18:20:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20build.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.sh | 91 +++++++++++++++++--------------------------------------- 1 file changed, 27 insertions(+), 64 deletions(-) diff --git a/build.sh b/build.sh index 2653b74..28cd765 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,14 @@ #!/bin/bash + +# 默认构建类型 +BUILD_TYPE="Release" + +# 解析命令行参数 +if [[ "$1" == "--debug" ]]; then + BUILD_TYPE="Debug" + echo "Building ylib in DEBUG mode" +fi + # 安装软件 sudo apt update sudo apt install -y g++ @@ -14,79 +24,32 @@ sudo apt install -y unixodbc-dev sudo apt install -y libz-dev sudo apt install -y libmimalloc-dev - # 初始化变量 - src_dir=$(pwd) cd .. root_dir=$(pwd) install_dir=$(pwd)/ylib_linux_build -# 创建必要文件夹 -if [ ! -d $install_dir ]; then - mkdir $install_dir + +# 根据构建类型设置不同的构建目录 +if [ "$BUILD_TYPE" == "Debug" ]; then + install_dir="${install_dir}_debug" + echo "Debug build directory: $install_dir" fi -##########################开始编译######################### - -######3rdparty###### -# cd $src_dir/3rdparty -# hp_socket_lib ="/usr/local/lib64/libhpsocket.a" -# if [ -e "$hp_socket_lib" ]; then -# echo "hpsocket installed" -# else -# # 下载HPSOCKET -# if [ ! -d "HP-Socket" ]; then -# git clone https://github.com/ldcsaa/HP-Socket.git -# cd HP-Socket/Linux -# # 删除已经存在的库 -# rm -rf dependent/x64/include/openssl -# rm -rf dependent/x64/include/zconf.h -# rm -rf dependent/x64/include/zlib.h -# rm -rf dependent/x64/lib/libcrypto.a -# rm -rf dependent/x64/lib/libjemalloc_pic.a -# rm -rf dependent/x64/lib/libmimalloc.a -# rm -rf dependent/x64/lib/libssl.a -# rm -rf dependent/x64/lib/libz.a - -# chmod 777 script/* -# echo "Y" | ./script/compile.sh -# echo "Y" | ./script/install.sh -# cd $src_dir/3rdparty -# # 安装HPSocket -# sudo cp -f HP-Socket/Linux/lib/hpsocket/x64/*.a /usr/local/lib/ -# sudo cp -f HP-Socket/Linux/lib/hpsocket/x64/*.so /lib/x86_64-linux-gnu/ -# sudo cp -f HP-Socket/Linux/lib/hpsocket/x64/*.so.5 /lib/x86_64-linux-gnu/ -# sudo cp -r -f HP-Socket/Linux/include/* /usr/local/include/ -# sudo mv /usr/local/include/hpsocket /usr/local/include/HPSocket -# fi - -# fi - - - -# 安装mysql-connector-cpp -cd $src_dir/3rdparty -#if [ ! -d "mysql-connector-cpp" ]; then -# git clone --branch 8.4.0 https://github.com/mysql/mysql-connector-cpp.git -# cd mysql-connector-cpp -# mkdir build -# cd build -# # 设置临时SWAP交换空间16G -# sudo dd if=/dev/zero of=/tempswap bs=1M count=16384 -# sudo mkswap /tempswap -# sudo swapon /tempswap -# echo "MySQL Connector 编译较慢请耐心等待..." -# cmake ../ -DCMAKE_BUILD_TYPE=Release -DWITH_JDBC=true -# make -# sudo cp build/jdbc/libmysqlcppconn.so /lib/x86_64-linux-gnu/libmysqlcppconn.so -# sudo cp -r jdbc/cppconn /usr/local/include -# # 删除交换 -# sudo swapoff /tempswap -# sudo rm /tempswap -#fi +# 创建必要文件夹 +if [ ! -d $install_dir ]; then + mkdir -p $install_dir +else + # 如果目录已存在,清理它 + echo "Cleaning existing build directory: $install_dir" + rm -rf $install_dir/* +fi ######核心###### cd $install_dir -cmake $src_dir . +echo "Running cmake with build type: $BUILD_TYPE" +cmake $src_dir -DCMAKE_BUILD_TYPE=$BUILD_TYPE make -j4 sudo make install + +echo "ylib $BUILD_TYPE build completed successfully!" \ No newline at end of file