You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.2 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. cmake_minimum_required(VERSION 3.13)
  2. set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  3. set(CMAKE_SYSTEM_NAME Linux)
  4. set(CMAKE_BUILD_TYPE Debug)
  5. set(CMAKE_SKIP_BUILD_RPATH FALSE)
  6. set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
  7. set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
  8. include(zcmake/zcmake.cmake)
  9. include(iflytoplinuxsdk/src/iflytop/dep.cmake)
  10. project(app)
  11. set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/)
  12. # 设置ccache加速C++编译速度
  13. set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
  14. set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
  15. # 设置通用编译选项
  16. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-format-overflow")
  17. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-local-typedefs")
  18. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-but-set-variable")
  19. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-deprecated-declarations")
  20. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Werror=return-type")
  21. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Werror=parentheses")
  22. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wfatal-errors")
  23. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-result")
  24. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-comment")
  25. set(C_CPP_FLAGS "${C_CPP_FLAGS} -O1")
  26. set(C_CPP_FLAGS "${C_CPP_FLAGS} -g3")
  27. set(C_CPP_FLAGS "${C_CPP_FLAGS} -fPIC")
  28. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wall")
  29. # 设置C编译选项
  30. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_CPP_FLAGS}")
  31. # 设置CPP编译选项
  32. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${C_CPP_FLAGS}")
  33. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pessimizing-move")
  34. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder")
  35. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
  36. message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
  37. message("PROJECT_NAME: ${PROJECT_NAME}")
  38. file(GLOB_RECURSE VAR_APP_SOURCE #
  39. src/*.cpp #
  40. src/*.c #
  41. )
  42. file(GLOB_RECURSE IFLYTOP_SDK_SOURCE #
  43. iflytoplinuxsdk/src/*.cpp #
  44. iflytoplinuxsdk/src/*.c #
  45. )
  46. message("VAR_APP_SOURCE: ${VAR_APP_SOURCE}")
  47. zadd_executable(
  48. TARGET
  49. app.out #
  50. INSTALL
  51. ./app/
  52. #
  53. # 配置源码文件
  54. #
  55. SRC
  56. ${VAR_APP_SOURCE}
  57. ${IFLYTOP_SDK_SOURCE}
  58. #
  59. # 配置库文件链接地址
  60. #
  61. LINK_DIRECTORIES
  62. ${IFLYTOP_LINUX_SDK_LINK_PATH}
  63. #
  64. # 配置链接第三方库
  65. #
  66. LINK_LIBRARIES
  67. ${IFLYTOP_LINUX_SDK_LINK_LIBS}
  68. #
  69. # 配置头文件路径
  70. #
  71. INCLUDE_DIRECTORIES
  72. src
  73. ${IFLYTOP_LINK_SDK_INCLUDE_PATH}
  74. ./ #
  75. #
  76. )