我现有的目录下有src、include、client、server四个文件夹,依赖/usr/local/lib/libhiredis.so,我希望用src、include生成一个动态库,用server加这个动态库生成一个程序并封装成service,service的配置文件应该放置在哪儿,应该怎么写cmakelist.txt,
时间: 2023-05-16 15:05:38 浏览: 134
你可以将service的配置文件放置在/etc/systemd/system/目录下,命名为你的服务名.service。在cmakelist.txt中,你需要添加以下内容:
cmake_minimum_required(VERSION 3.5)
project(your_project_name)
set(CMAKE_CXX_STANDARD 11)
# 添加头文件路径
include_directories(include)
# 添加源文件路径
aux_source_directory(src SRC_LIST)
# 生成动态库
add_library(your_lib SHARED ${SRC_LIST})
# 链接libhiredis.so
target_link_libraries(your_lib /usr/local/lib/libhiredis.so)
# 生成可执行文件
add_executable(your_server server/main.cpp)
# 链接动态库
target_link_libraries(your_server your_lib)
# 安装动态库和可执行文件
install(TARGETS your_lib DESTINATION /usr/local/lib)
install(TARGETS your_server DESTINATION /usr/local/bin)
# 安装service配置文件
install(FILES your_service_name.service DESTINATION /etc/systemd/system/)
阅读全文