/
Dengit-man
/
CustomLocaleKeyShortcut
Обзор
Документация
Войти
/
Dengit-man
/
CustomLocaleKeyShortcut
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
7
CI/CD
Аналитика
Безопасность
AddMacOS
scripts/generate_report.cmake
69 строк
2 KB
Dengit-man
Фикс мелочей - 1.5.1
27 май 2026, 14:23
Верифицирован
27 май 2026, 14:23
28ae8d3
Код
Авторство
О чём код?
# Получаем передаваемые параметры set(BUILD_TYPE "${BUILD_TYPE}") set(BIN_DIR "${BIN_DIR}") set(PROJ_NAME "${PROJ_NAME}") set(OUT_FILE "${OUT_FILE}") # По умолчанию считаем, что сборка успешна set(BUILD_RESULT "success") message(STATUS "Check files existing") message("BIN_DIR: ${BIN_DIR}") # Проверяем наличие выходных файлов file(GLOB_RECURSE EXECUTABLES "${BIN_DIR}/*.[ed][xl][el]") file(GLOB_RECURSE INIs "${BIN_DIR}/*.ini") list(LENGTH EXECUTABLES NUM_EXECUTABLES) list(LENGTH INIs NUM_INIs) if(NUM_EXECUTABLES GREATER 0) set(BUILD_RESULT "success") message(STATUS "Build succeeded") else() set(BUILD_RESULT "fail") message(STATUS "Build failed") endif() if(NUM_INIs GREATER 0) message(STATUS "INI exists") else() message(STATUS "INI does not exists") endif() message(CHECK_START "JSON-report") # Формируем JSON-отчёт SET(JSON_REPORT "{ \"build_type\": \"${BUILD_TYPE}\", \"build_result\": \"${BUILD_RESULT}\", \"project\": \"${PROJ_NAME}\", \"version\": \"${VERSION}\", \"output_files\": [ " ) #message(WARNING "0 - ${JSON_REPORT}") foreach(FILE ${EXECUTABLES}) string(CONCAT JSON_REPORT "${JSON_REPORT}\"${FILE}\", ") endforeach() foreach(FILE ${INIs}) string(CONCAT JSON_REPORT "${JSON_REPORT}\"${FILE}\", ") endforeach() #message(WARNING "1 - ${JSON_REPORT}") # Удаляем последний лишний элемент (запятую) string(LENGTH "${JSON_REPORT}" JSON_REPORT_LENGTH) math(EXPR JSON_REPORT_start "0") math(EXPR JSON_REPORT_end "${JSON_REPORT_LENGTH}-2") string(SUBSTRING "${JSON_REPORT}" ${JSON_REPORT_start} ${JSON_REPORT_end} JSON_REPORT) #message(WARNING "2 - ${JSON_REPORT}") # Завершаем JSON string(APPEND JSON_REPORT "\n]}") message(STATUS "3 - ${JSON_REPORT}") message(CHECK_PASS "Done") message(STATUS "Writing the file \"${OUT_FILE}\"") # Записываем отчёт в файл file(WRITE "${OUT_FILE}" "${JSON_REPORT}")