一个文件夹内有多个不同名字的cpp文件,每个需要链接hiredis,然后生成文件本身名字的可执行文件,怎么写cmakelist
时间: 2024-01-24 17:05:43 浏览: 77
MakeFile编译当前目录下所有CPP文件,并连接成可执行文件
以下是一个可能的 CMakeLists.txt 文件,可以参考:
```
cmake_minimum_required(VERSION 3.0)
project(my_project)
# 设置编译选项
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 添加 hiredis 库
find_library(HIREDIS_LIB hiredis)
# 遍历所有 cpp 文件,生成可执行文件
file(GLOB SRC_FILES *.cpp)
foreach(SRC_FILE ${SRC_FILES})
get_filename_component(EXE_NAME ${SRC_FILE} NAME_WE)
add_executable(${EXE_NAME} ${SRC_FILE})
target_link_libraries(${EXE_NAME} ${HIREDIS_LIB})
endforeach()
```
这个 CMakeLists.txt 文件做的事情是:
- 设置编译选项,使用 C++11 标准。
- 查找 hiredis 库。
- 遍历所有 cpp 文件,生成对应的可执行文件,文件名和 cpp 文件名相同。同时链接 hiredis 库。
阅读全文