BuildMakeSettings.cmake 2.9 KB

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