BuildMakeSettings.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. SET(RVCFRAMEWORK_SOURCES_DIR ${PROJECT_SOURCE_DIR}/Framework)
  2. SET(RVC_FRAMEWORK_INCLUDE_DIR ${RVCFRAMEWORK_SOURCES_DIR}/Common)
  3. SET(RVC_TOOLKIT_INCLUDE_DIR ${RVCFRAMEWORK_SOURCES_DIR}/libtoolkit)
  4. SET(RVC_WINPR_SOURCE_INCLUDE_DIR ${RVCFRAMEWORK_SOURCES_DIR}/winpr/include)
  5. SET(RVC_WINPR_BINARY_INCLUDE_DIR ${PROJECT_BINARY_DIR}/Framework/winpr/include)
  6. SET(RVC_WINPR_INCLUDE_DIR ${RVC_WINPR_SOURCE_INCLUDE_DIR} ${RVC_WINPR_BINARY_INCLUDE_DIR})
  7. SET(RVC_COMMON_INCLUDE_DIR ${RVC_FRAMEWORK_INCLUDE_DIR})
  8. SET(RVC_FRAMEWORK_INCLUDES_DIR ${RVC_COMMON_INCLUDE_DIR}
  9. ${RVC_TOOLKIT_INCLUDE_DIR} ${RVC_WINPR_INCLUDE_DIR})
  10. SET(ThirdPartyLib "${PROJECT_SOURCE_DIR}/ThirdParty/Release")
  11. SET(ThirdPartyHeadRoot "${PROJECT_SOURCE_DIR}/ThirdParty/Include")
  12. SET(DevHeadPath "${PROJECT_SOURCE_DIR}/DevAdapter/include")
  13. set(MODULE_BASE_DIR "${PROJECT_SOURCE_DIR}/Module")
  14. SET(ModuleCommonHeadPath "${MODULE_BASE_DIR}/include")
  15. SET(MODULE_MICRO_SERVICES_INCLUDE_DIR "${ModuleCommonHeadPath}/microservices")
  16. set(OTHER_LIB_BASE_DIR "${PROJECT_SOURCE_DIR}/Other")
  17. if(MSVC)
  18. set(OTHER_LIB_PLATFORM_BASE_DIR "${OTHER_LIB_BASE_DIR}/win")
  19. else()
  20. set(OTHER_LIB_PLATFORM_BASE_DIR "${OTHER_LIB_BASE_DIR}/unix")
  21. endif(MSVC)
  22. set(Tool_BASE_DIR "${PROJECT_SOURCE_DIR}/Tool")
  23. macro(rvc_set_library_output_dir _dir)
  24. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${_dir})
  25. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${_dir})
  26. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${_dir})
  27. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${_dir})
  28. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${_dir})
  29. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${_dir})
  30. endmacro(rvc_set_library_output_dir)
  31. macro(rvc_target_add_definitions _target _def)
  32. get_target_property(EXISTED_PROPERTIES ${_target} COMPILE_DEFINITIONS)
  33. message(STATUS "EXISTED_PROPERTIES: ${EXISTED_PROPERTIES}")
  34. string(LENGTH ${EXISTED_PROPERTIES} var)
  35. if(${var})
  36. set_target_properties(${MODULE_NAME} PROPERTIES COMPILE_DEFINITIONS "${EXISTED_PROPERTIES};${_def}")
  37. else()
  38. set_target_properties(${MODULE_NAME} PROPERTIES COMPILE_DEFINITIONS "${_def}")
  39. endif()
  40. endmacro(rvc_target_add_definitions)
  41. macro(rvc_add_all_cmake_subdirectory)
  42. file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
  43. foreach(dir ${all_valid_subdirs})
  44. if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt")
  45. string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir})
  46. message(STATUS "Adding other component ${dir_trimmed}")
  47. add_subdirectory(${dir_trimmed})
  48. endif()
  49. endforeach(dir)
  50. endmacro(rvc_add_all_cmake_subdirectory)
  51. macro(rvc_record_build_number)
  52. if(WITH_CI_NUMBER)
  53. set(CURRENT_BUILD_TIMES 1)
  54. math(EXPR DAYS "100 * ${BUILD_MONTH} + ${BUILD_DAY}" OUTPUT_FORMAT DECIMAL)
  55. if(EXISTS "${PROJECT_BINARY_DIR}/BuildNumber.txt")
  56. file(STRINGS "${PROJECT_BINARY_DIR}/BuildNumber.txt" BUILD_STORE_NUMBER)
  57. message(STATUS "string: ${BUILD_STORE_NUMBER}")
  58. if(BUILD_STORE_NUMBER)
  59. set(VERSION_REGEX "^([0-9]+)-([0-9]+)")
  60. string(REGEX REPLACE "${VERSION_REGEX}" "\\1" LAST_BUILD_DAYS "${BUILD_STORE_NUMBER}")
  61. string(REGEX REPLACE "${VERSION_REGEX}" "\\2" LAST_BUILD_TIMES "${BUILD_STORE_NUMBER}")
  62. message(STATUS "splited number: ${LAST_BUILD_DAYS}-${LAST_BUILD_TIMES}")
  63. set(CURRENT_BUILD_DAYS "${DAYS}")
  64. string(COMPARE EQUAL ${LAST_BUILD_DAYS} ${CURRENT_BUILD_DAYS} THE_SAME_DAY)
  65. if(THE_SAME_DAY)
  66. math(EXPR INCRE_DAYS "${LAST_BUILD_TIMES} + 1" OUTPUT_FORMAT DECIMAL)
  67. set(CURRENT_BUILD_TIMES ${INCRE_DAYS})
  68. endif(THE_SAME_DAY)
  69. endif(BUILD_STORE_NUMBER)
  70. endif()
  71. set(BUILD_NUMBER ${DAYS})
  72. file(WRITE "${PROJECT_BINARY_DIR}/BuildNumber.txt" "${DAYS}-${CURRENT_BUILD_TIMES}")
  73. endif(WITH_CI_NUMBER)
  74. endmacro(rvc_record_build_number)