if (NOT DEFINED NBL_EXECUTABLE_PATH) message(FATAL_ERROR "NBL_EXECUTABLE_PATH is not defined.") endif() if(NOT EXISTS "${NBL_EXECUTABLE_PATH}") message(FATAL_ERROR "NBL_EXECUTABLE_PATH: \"${NBL_EXECUTABLE_PATH}\" doesn't exist!") endif() if (NOT DEFINED NBL_BUILD_INFO) message(FATAL_ERROR "NBL_BUILD_INFO is not defined.") endif() cmake_path(NATIVE_PATH NBL_BUILD_INFO NORMALIZE NBL_BUILD_INFO) if(NOT EXISTS "${NBL_BUILD_INFO}") message(FATAL_ERROR "NBL_BUILD_INFO: \"${NBL_BUILD_INFO}\" doesn't exist!") endif() if (NOT DEFINED NBL_OUTPUT_FILE) message(FATAL_ERROR "NBL_OUTPUT_FILE is not defined.") endif() cmake_path(NATIVE_PATH NBL_OUTPUT_FILE NORMALIZE NBL_OUTPUT_FILE) if (DEFINED NBL_OUTPUT_EXE_OVERRIDE) set(EXECUTABLE_PATH "${NBL_OUTPUT_EXE_OVERRIDE}") else() set(EXECUTABLE_PATH "${NBL_EXECUTABLE_PATH}") endif() file(READ "${NBL_BUILD_INFO}" ORIGINAL_JSON) string(JSON NBL_MODULES ERROR_VARIABLE JSON_ERROR GET "${ORIGINAL_JSON}" modules) if(JSON_ERROR) message(FATAL_ERROR "JSON_ERROR: \"${JSON_ERROR}\"") endif() file(TIMESTAMP "${NBL_EXECUTABLE_PATH}" EXE_TIMESTAMP "%Y-%m-%dT%H:%M:%S") string(SUBSTRING "${EXE_TIMESTAMP}" 0 10 EXE_DATE) string(SUBSTRING "${EXE_TIMESTAMP}" 11 8 EXE_TIME) string(JSON ORIGINAL_JSON SET "${ORIGINAL_JSON}" "exe.timestamp.date" "\"${EXE_DATE}\"") string(JSON ORIGINAL_JSON SET "${ORIGINAL_JSON}" "exe.timestamp.time" "\"${EXE_TIME}\"") string(JSON ORIGINAL_JSON SET "${ORIGINAL_JSON}" "exe.path" "\"${EXECUTABLE_PATH}\"") file(WRITE "${NBL_OUTPUT_FILE}" "${ORIGINAL_JSON}") message(STATUS "Updated build info JSON written to: ${NBL_OUTPUT_FILE}") message(STATUS "${ORIGINAL_JSON}")