|
|
@@ -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 [ "$BUILD_TYPE" == "Debug" ]; then
|
|
|
+ install_dir="${install_dir}_debug"
|
|
|
+ echo "Debug build directory: $install_dir"
|
|
|
+fi
|
|
|
+
|
|
|
# 创建必要文件夹
|
|
|
if [ ! -d $install_dir ]; then
|
|
|
- mkdir $install_dir
|
|
|
+ mkdir -p $install_dir
|
|
|
+else
|
|
|
+ # 如果目录已存在,清理它
|
|
|
+ echo "Cleaning existing build directory: $install_dir"
|
|
|
+ rm -rf $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
|
|
|
-
|
|
|
######核心######
|
|
|
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!"
|