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.

111 lines
2.8 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
1 year 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 year 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. project(app)
  10. set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/)
  11. # 设置ccache加速C++编译速度
  12. set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
  13. set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
  14. # 设置通用编译选项
  15. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-format-overflow")
  16. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-local-typedefs")
  17. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-but-set-variable")
  18. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-deprecated-declarations")
  19. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Werror=return-type")
  20. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Werror=parentheses")
  21. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wfatal-errors")
  22. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-unused-result")
  23. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wno-comment")
  24. set(C_CPP_FLAGS "${C_CPP_FLAGS} -O1")
  25. set(C_CPP_FLAGS "${C_CPP_FLAGS} -g3")
  26. set(C_CPP_FLAGS "${C_CPP_FLAGS} -fPIC")
  27. set(C_CPP_FLAGS "${C_CPP_FLAGS} -Wall")
  28. # 设置C编译选项
  29. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_CPP_FLAGS}")
  30. # 设置CPP编译选项
  31. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${C_CPP_FLAGS}")
  32. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pessimizing-move")
  33. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder")
  34. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
  35. message("CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")
  36. message("PROJECT_NAME: ${PROJECT_NAME}")
  37. file(
  38. GLOB_RECURSE
  39. VAR_APP_SOURCE #
  40. src/*.cpp #
  41. src/*.c #
  42. transmit_disinfection_public_code/*.cpp #
  43. src/*.c #
  44. iflytoplinuxsdk/src/*.cpp #
  45. iflytoplinuxsdk/src/*.c #
  46. )
  47. if(PROJECT_TYPE_LARGE_SPACE_DISINFECTION)
  48. add_definitions(-DPROJECT_TYPE_LARGE_SPACE_DISINFECTION)
  49. endif()
  50. if(PROJECT_TYPE_SMALL_SPACE_DISINFECTION)
  51. add_definitions(-DPROJECT_TYPE_SMALL_SPACE_DISINFECTION)
  52. endif()
  53. if(PROJECT_TYPE_PIPE_DISINFECTION)
  54. add_definitions(-DPROJECT_TYPE_PIPE_DISINFECTION)
  55. endif()
  56. if(PROJECT_TYPE_DRAW_BAR_BOX)
  57. add_definitions(-DPROJECT_TYPE_DRAW_BAR_BOX)
  58. endif()
  59. message("VAR_APP_SOURCE: ${VAR_APP_SOURCE}")
  60. zadd_executable(
  61. TARGET
  62. app.out #
  63. INSTALL
  64. ./app/
  65. SRC
  66. ${VAR_APP_SOURCE}
  67. h2o2_computer/zh2o2_computer.c
  68. LINK_DIRECTORIES
  69. libs/libixwebsocket/lib
  70. LINK_LIBRARIES
  71. pthread
  72. libixwebsocket.a
  73. sqlite3
  74. #
  75. INCLUDE_DIRECTORIES
  76. src
  77. iflytoplinuxsdk/src/iflytop/core/spdlog/include/
  78. transmit_disinfection_public_code/
  79. iflytoplinuxsdk/src/
  80. libs/libixwebsocket/include
  81. ./)
  82. zadd_executable(
  83. TARGET
  84. testsqldb.out #
  85. INSTALL
  86. ./app/
  87. SRC
  88. test_src/testsqldb.cpp #
  89. INCLUDE_DIRECTORIES
  90. transmit_disinfection_public_code/
  91. iflytoplinuxsdk/src/iflytop/core/spdlog/include/
  92. iflytoplinuxsdk/src/
  93. LINK_LIBRARIES
  94. sqlite3)