CMakeLists.txt 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # CMakeList.txt: 顶层 CMake 项目文件,在此处执行全局配置
  2. # 并包含子项目。
  3. #
  4. cmake_minimum_required (VERSION 3.8)
  5. # 项目名称
  6. set(PROJECT_NAME "sync_service")
  7. # 如果支持,请为 MSVC 编译器启用热重载。
  8. if (POLICY CMP0141)
  9. cmake_policy(SET CMP0141 NEW)
  10. set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<IF:$<AND:$<C_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:MSVC>>,$<$<CONFIG:Debug,RelWithDebInfo>:EditAndContinue>,$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>>")
  11. endif()
  12. project ("${PROJECT_NAME}")
  13. # 添加宏定义
  14. add_definitions(-DASIO2_USE_SSL)
  15. if (MSVC)
  16. # 添加预处理定义
  17. add_compile_definitions(_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR=1)
  18. endif()
  19. # 判断平台
  20. if (WIN32)
  21. #release 链接库生成pdb
  22. set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
  23. #lib的 release链接库生成pdb
  24. set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
  25. #exe的 release生成pdb
  26. set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
  27. set(LIB_PATH "F:/linux/robot/lib/windows/")
  28. set(INCLUDE_PATH "F:/linux/robot/")
  29. set(GENERATOR_PATH "D:/generator/")
  30. add_definitions(-DWINDOWS_BUILD)
  31. elseif(IOS)
  32. add_definitions(-DIOS_BUILD)
  33. elseif(UNIX)
  34. set(LIB_PATH "/home/zxw/vscode_project/robot/lib/linux/")
  35. set(INCLUDE_PATH "/home/zxw/vscode_project/robot/")
  36. set(GENERATOR_PATH "/home/zxw/tools/generator/")
  37. add_definitions(-DLINUX_BUILD)
  38. endif()
  39. # 包含子项目。
  40. add_subdirectory ("src")