项目工程目录
我们的聊天服务器程序和客户端程序都在一个工程里面,最后在bin生成2个可执行文件,一个是服务器,一个是客户端。
配置chatserver(根)下的CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(chat)
# 配置编译选项
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -g)
# 配置最终的可执行文件输出的路径
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
# 配置头文件的搜索路径
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/include/server)
# 加载子目录
add_subdirectory(src)
它就会跑去src目录下找CMakeLists.txt文件。
所以,我们在src下创建CMakeLists.txt
add_subdirectory(server)
因为我们先开发server,所以先不添加客户端client
我们还要在server下创建CMakeLists.txt
# 定义了一个SRC_LIST变量,包含了该目录下所有的源文件
aux_source_directory(. SRC_LIST)
# 指定生成可执行文件
add_executable(ChatServer ${SRC_LIST} ${DB_LIST} ${MODEL_LIST} ${REDIS_LIST})
# 指定可执行文件链接时需要依赖的库文件
target_link_libraries(ChatServer muduo_net muduo_base pthread)