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.

132 lines
2.8 KiB

2 years ago
2 years ago
2 years ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
2 years ago
12 months ago
2 years ago
12 months ago
2 years ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
2 years ago
12 months ago
12 months ago
12 months ago
2 years ago
12 months ago
12 months ago
12 months 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. message("ARCH: ${ARCH}")
  38. if(${ARCH} STREQUAL "amd64")
  39. add_definitions(-DBUILD_ON_PC)
  40. endif()
  41. file(
  42. GLOB_RECURSE
  43. APP_SRC #
  44. appsrc/*.cpp #
  45. appsrc/*.c #
  46. appsrc/*.hpp #
  47. appsrc/*.h #
  48. appdep/*.cpp #
  49. appdep/*.c #
  50. appdep/*.hpp #
  51. appdep/*.h #
  52. app_protocols/*.cpp #
  53. app_protocols/*.c #
  54. app_protocols/*.hpp #
  55. app_protocols/*.h #
  56. )
  57. zadd_executable(
  58. TARGET
  59. app.out
  60. #
  61. # INSTALL PATH
  62. #
  63. INSTALL
  64. ./app/
  65. #
  66. # SRC
  67. #
  68. SRC
  69. ${APP_SRC}
  70. #
  71. # INCLUDE_DIRECTORIES
  72. #
  73. INCLUDE_DIRECTORIES
  74. appdep/iflytop/core/spdlog/include
  75. appsrc/
  76. appdep/
  77. app_protocols/
  78. ./
  79. appdep/libs/libixwebsocket/include
  80. #
  81. # LINK_LIBRARIES
  82. #
  83. LINK_LIBRARIES
  84. pthread
  85. ixwebsocket
  86. z
  87. crypto
  88. ssl
  89. dl
  90. sqlite3
  91. #
  92. # LINK_DIRECTORIES
  93. #
  94. LINK_DIRECTORIES
  95. #
  96. appdep/libs/libixwebsocket/${ARCH}/
  97. appdep/libs/libhpdf/${ARCH}/)
  98. zadd_executable(
  99. TARGET
  100. zcsv_test.out
  101. # SRC
  102. SRC
  103. ./test/zcsv_test.cpp
  104. appdep/iflytop/core/components/zcsv/zcsv.cpp
  105. # INCLUDE_DIRECTORIES
  106. INCLUDE_DIRECTORIES
  107. appdep/)
  108. #
  109. # testpdf
  110. #
  111. zadd_executable(
  112. TARGET
  113. testpdf.out
  114. SRC
  115. ./test/testpdf.cpp
  116. INCLUDE_DIRECTORIES
  117. appdep/libs/libhpdf/include
  118. LINK_LIBRARIES
  119. hpdf
  120. z
  121. LINK_DIRECTORIES
  122. appdep/libs/libhpdf/${ARCH}/)