CMakeLists.txt 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. )
  11. #包含源文件,GLOB_RECURSE是不可缺少的
  12. file(GLOB LOCAL_SRC
  13. ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
  14. ${CMAKE_SOURCE_DIR}/External/common/Logs/*.cpp
  15. )
  16. #指定文件夹,生成可执行文件,类似g++中的-L
  17. add_executable(${traget_name} ${LOCAL_SRC})
  18. #设置一些属性,这些属性只作用于traget_name这个目标,并且优先级高于全局选项
  19. #set_target_properties(${traget_name}
  20. #PROPERTIES
  21. # C_STANDARD 11
  22. #)
  23. target_link_libraries(${traget_name} PRIVATE
  24. fmt::fmt
  25. spdlog::spdlog
  26. )
  27. #为target添加需要链接的共享库,相当于g++编译器的-l参数
  28. #注意,这条命令要放到add_executable()之后
  29. # target_link_libraries(${traget_name} pthread)