更新 build.sh
This commit is contained in:
91
build.sh
91
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!"
|
||||
Reference in New Issue
Block a user