Skip to the content.

目录

介绍

阅读本文之前, 请必须阅读基础概念

本文介绍使用cmake来管理代码(tarsgo >= 1.1.3)

另外go版本请使用>=1.13以上版本, 并完成tarsgo的下载

2. cmake规范

2.1. cmake使用

使用Tars实现的服务,可以使用cmake来管理go的代码编译

TARS框架提供了一个基础的tars-tools.cmake ($GOPATH/src/github.com/TarsCloud/TarsGo/cmake/tars-tools.cmake), 业务服务的CMakeLists.txt引用该文件即可.

TARS框架也提供了脚本($GOPATH/src/github.com/TarsCloud/TarsGo/tars/tools/cmake_tars_server.sh)可以自动生成空的服务框架和CMakeLists.txt

业务服务CMakeLists.txt示例如下:

execute_process(COMMAND go env GOPATH OUTPUT_VARIABLE GOPATH)

string(REGEX REPLACE "\n$" "" GOPATH "${GOPATH}")

include(${GOPATH}/src/github.com/TarsCloud/TarsGo/cmake/tars-tools.cmake)

cmake_minimum_required(VERSION 2.8)

project(DemoServer Go) # select GO compile

gen_server(Demo DemoServer)

# go mod init
# mkdir build
# cd build
# cmake ..
# make

如果源码下某子目录需要也能独立编译成可执行程序, 则该子目录添加对应的CMakeLists.txt如下(参考生成代码后的Client目录):

cmake_minimum_required(VERSION 2.8)

project(Client Go)

gen_server(Base Client)

编译服务:

mkdir build
cd build 
cmake ..
make -j4

2.2. 打包和上传服务

你可以一键打包和上传服务:

make HelloServer-tar
make HelloServer-upload

上传服务需要正确设置

cd build
cmake .. -DTARS_WEB_HOST=http://xxx.xxx.xxx.xxx:3000

这里TARS_WEB_HOST是你web平台地址

参考基础概念

注意, 你也可以并行用GoLand这类IDE工具来管理代码