SET(RVC_COMMON_INCLUDE_DIR ${CONAN_RVCFRAMEWORK_ROOT}/include/Common) SET(RVC_TOOLKIT_INCLUDE_DIR ${CONAN_RVCFRAMEWORK_ROOT}/include/libtoolkit) # $(MSBuildProjectDirectory)\..\..\ThirdParty\Release SET(ThirdPartyLib "${PROJECT_SOURCE_DIR}/ThirdParty/Release") # $(MSBuildProjectDirectory)\..\..\ThirdParty\Include SET(ThirdPartyHeadRoot "${PROJECT_SOURCE_DIR}/ThirdParty/Include") # $(MSBuildProjectDirectory)\..\..\Framework\Release #SET(FrameworkLib "${PROJECT_SOURCE_DIR}/third_party") # $(MSBuildProjectDirectory)\..\..\Framework\Include #SET(FrameworkHeadRoot "${PROJECT_SOURCE_DIR}/third_party") macro(rvc_set_library_output_dir _dir) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${_dir}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${_dir}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${_dir}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${_dir}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${_dir}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${_dir}) endmacro(rvc_set_library_output_dir) macro(rvc_target_add_definitions _target _def) get_target_property(EXISTED_PROPERTIES ${_target} COMPILE_DEFINITIONS) message(STATUS "EXISTED_PROPERTIES: ${EXISTED_PROPERTIES}") string(LENGTH ${EXISTED_PROPERTIES} var) if(${var}) set_target_properties(${MODULE_NAME} PROPERTIES COMPILE_DEFINITIONS "${EXISTED_PROPERTIES};${_def}") else() set_target_properties(${MODULE_NAME} PROPERTIES COMPILE_DEFINITIONS "${_def}") endif() endmacro(rvc_target_add_definitions) macro(rvc_add_all_cmake_subdirectory) file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt") foreach(dir ${all_valid_subdirs}) if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt") string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir}) message(STATUS "Adding other component ${dir_trimmed}") add_subdirectory(${dir_trimmed}) endif() endforeach(dir) endmacro(rvc_add_all_cmake_subdirectory) macro(rvc_record_build_number) if(WITH_CI_NUMBER) set(CURRENT_BUILD_TIMES 1) math(EXPR DAYS "100 * ${BUILD_MONTH} + ${BUILD_DAY}" OUTPUT_FORMAT DECIMAL) if(EXISTS "${PROJECT_BINARY_DIR}/BuildNumber.txt") file(STRINGS "${PROJECT_BINARY_DIR}/BuildNumber.txt" BUILD_STORE_NUMBER) message(STATUS "string: ${BUILD_STORE_NUMBER}") if(BUILD_STORE_NUMBER) set(VERSION_REGEX "^([0-9]+)-([0-9]+)") string(REGEX REPLACE "${VERSION_REGEX}" "\\1" LAST_BUILD_DAYS "${BUILD_STORE_NUMBER}") string(REGEX REPLACE "${VERSION_REGEX}" "\\2" LAST_BUILD_TIMES "${BUILD_STORE_NUMBER}") message(STATUS "splited number: ${LAST_BUILD_DAYS}-${LAST_BUILD_TIMES}") set(CURRENT_BUILD_DAYS "${DAYS}") string(COMPARE EQUAL ${LAST_BUILD_DAYS} ${CURRENT_BUILD_DAYS} THE_SAME_DAY) if(THE_SAME_DAY) math(EXPR INCRE_DAYS "${LAST_BUILD_TIMES} + 1" OUTPUT_FORMAT DECIMAL) set(CURRENT_BUILD_TIMES ${INCRE_DAYS}) endif(THE_SAME_DAY) endif(BUILD_STORE_NUMBER) endif() set(BUILD_NUMBER ${DAYS}) file(WRITE "${PROJECT_BINARY_DIR}/BuildNumber.txt" "${DAYS}-${CURRENT_BUILD_TIMES}") endif(WITH_CI_NUMBER) endmacro(rvc_record_build_number)