CMakeLists.txt 1.1 KB

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