CMakeLists 范例


CMakeLists.txt 范例

  1. 目录结构
contents.png
2. 主目录下 CMakeLists
#版本 (必须)
cmake_minimum_required(VERSION 3.1)

# 工程名 (必须)
project(demo_client)

#批量打包文件夹中的源程序;
aux_source_directory(./src DIR_SRC) 


# 在build中添加一个子文件夹lib, 并将CMakeLists目录下的lib中的源文件编译至bulid中的lib文件夹。
# 目录下的lib文件夹必须包含CMakeLists.txt ,否则报错。
add_subdirectory(./lib)
 # add_subdirectory(./src)


# 可执行文件: (目标名 依赖1 依赖2 ...) (必须)
add_executable(demo_client)
# 或者  add_executable(epollexe epoll.cpp) 前面填名称,后面依赖源文件。
target_sources(demo_client PRIVATE main.cpp ${DIR_SRC})

# 加载库文件 (如果应用了库,则必须)
target_link_libraries(demo_client PRIVATE Mylib)

  1. 库目录下CMakeLists
   aux_source_directory(. LIB)
   
   # 库名, 静态/动态, 源文件
   add_library(Mylib STATIC ${LIB})