12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- cmake_minimum_required(VERSION 3.5)
- #设置工程名
- project(threadpool LANGUAGES C CXX)
- #设置生成的可执行文件名
- set(traget_name "threadpool")
- #包含头文件,类似g++中的-I,CMAKE_SOURCE_DIR是cmake系统变量,指代项目根目录
- include_directories(
- ${CMAKE_CURRENT_SOURCE_DIR}
- ${CMAKE_SOURCE_DIR}/External/common/Logs
- ${CMAKE_SOURCE_DIR}/External/common
- )
- #包含源文件,GLOB_RECURSE是不可缺少的
- file(GLOB LOCAL_SRC
- ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
- ${CMAKE_SOURCE_DIR}/External/common/Logs/*.cpp
- ${CMAKE_SOURCE_DIR}/External/common/ThreadPool/*.cpp
- )
- #指定文件夹,生成可执行文件,类似g++中的-L
- add_executable(${traget_name} ${LOCAL_SRC})
- #设置一些属性,这些属性只作用于traget_name这个目标,并且优先级高于全局选项
- #set_target_properties(${traget_name}
- #PROPERTIES
- # C_STANDARD 11
- #)
- target_link_libraries(${traget_name} PRIVATE
- fmt::fmt
- spdlog::spdlog
- )
- #为target添加需要链接的共享库,相当于g++编译器的-l参数
- #注意,这条命令要放到add_executable()之后
- # target_link_libraries(${traget_name} pthread)
|