BuildMakeSettings.cmake 3.1 KB

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