BuildMakeSettings.cmake 3.2 KB

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