已合并
feat: build.sh 按配置变更自动决定是否清理缓存 #173
fujun19创建于 6月17日
feat: build.sh 按配置变更自动决定是否清理缓存 #173
已合并
共 1 个文件变更+12-5
| @@ -138,12 +138,19 @@ checkopts() { | |||
| 138 | 138 | ||
| 139 | build() { | 139 | build() { |
| 140 | echo "create build directory and build amct"; | 140 | echo "create build directory and build amct"; |
| 141 | - if [ -d "${BUILD_PATH}" ] | 141 | + local cache="${BUILD_PATH}/CMakeCache.txt" |
| 142 | - then | 142 | + if [ -f "${cache}" ]; then |
| 143 | - echo "${BUILD_PATH} exist, delete old path" | 143 | + local cached_type cached_exp cached_asan |
| 144 | - rm -rf ${BUILD_PATH} | 144 | + cached_type=$(grep -oP '(?<=CMAKE_BUILD_TYPE:STRING=).*' "${cache}" 2>/dev/null || true) |
| 145 | + cached_exp=$(grep -oP '(?<=ENABLE_EXPERIMENTAL:UNINITIALIZED=).*' "${cache}" 2>/dev/null || true) | ||
| 146 | + cached_asan=$(grep -oP '(?<=ENABLE_ASAN:UNINITIALIZED=).*' "${cache}" 2>/dev/null || true) | ||
| 147 | + if [ "${cached_type}" != "${BUILD_TYPE}" ] \ | ||
| 148 | + || [ "${cached_exp}" != "${ENABLE_EXPERIMENTAL:-}" ] \ | ||
| 149 | + || [ "${cached_asan}" != "${ENABLE_ASAN:-}" ]; then | ||
| 150 | + echo "Build config changed, cleaning build cache..." | ||
| 151 | + rm -rf "${BUILD_PATH}" | ||
| 152 | + fi | ||
| 145 | fi | 153 | fi |
| 146 | - echo "create path ${BUILD_PATH}" | ||
| 147 | mkdir -p ${BUILD_PATH} | 154 | mkdir -p ${BUILD_PATH} |
| 148 | 155 | ||
| 149 | cd "${BUILD_PATH}" | 156 | cd "${BUILD_PATH}" |