CMakelists.txt

1
2
3
4
5
6
7
8
9
10
11
12
cmake_minimum_required(VERSION 3.5)
project(lpzmuduo)

# mymuduo最终编译成so动态库,设置动态库的路径,放在根目录的lib文件夹下面
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
# 设置调试信息 以及 启动C++11语言标准
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11 -fPIC")

# 把当前目录下所有 .cpp 源文件,自动全部搜集起来,放进 SRC_LIST 里。
aux_source_directory(. SRC_LIST)
# 把所有搜到的 .cpp 一起编译成动态库
add_library(lpzmuduo SHARED ${SRC_LIST})

编译CMakelists.txt

1
2
3
4
mkdir build
cd build
cmake ..
make

创建build文件夹,将编译产生的makefile等文件统一放到build里管理。

编译完成后,会在项目根目录的 lib 文件夹里生成:

1
liblpzmuduo.so

也可以右键单击CMakeLists.txt,再点击清理所有项目并重新生成