فهرست منبع

Add padded size for individual languages

3d-gussner 1 سال پیش
والد
کامیت
dd389d018b
1فایلهای تغییر یافته به همراه6 افزوده شده و 4 حذف شده
  1. 6 4
      cmake/Check_lang_size.cmake

+ 6 - 4
cmake/Check_lang_size.cmake

@@ -1,9 +1,11 @@
 cmake_minimum_required(VERSION 3.18)
 FILE(SIZE ${LANG_FILE} FILE_SIZE)
 get_filename_component(FILE_BASE ${LANG_FILE} NAME)
-if(${FILE_SIZE} GREATER ${LANG_MAX_SIZE})
-    message(FATAL_ERROR "Language file ${FILE_BASE} (${FILE_SIZE}b) exceeds maximum allowed size of ${LANG_MAX_SIZE} bytes - Aborting!")
+MATH(EXPR PADDED_SIZE "((${FILE_SIZE}+256-1) / 256 * 256 )")
+MATH(EXPR FREE_SPACE "(${LANG_MAX_SIZE}-${FILE_SIZE})") 
+if(${PADDED_SIZE} GREATER ${LANG_MAX_SIZE})
+    message(FATAL_ERROR "Language file ${FILE_BASE} (${PADDED_SIZE}b) exceeds maximum allowed size of ${LANG_MAX_SIZE} bytes - Aborting!")
 else()
-    MATH(EXPR SIZE_PCT "( ${FILE_SIZE} * 100) / ${LANG_MAX_SIZE} " )
-    message(STATUS "Language file ${FILE_BASE} is ${FILE_SIZE} bytes, ${SIZE_PCT}% of allowed space - OK")
+    MATH(EXPR SIZE_PCT "( ${PADDED_SIZE} * 100) / ${LANG_MAX_SIZE} " )
+    message(STATUS "Language file ${FILE_BASE} is ${PADDED_SIZE} (${FILE_SIZE}) bytes, ${SIZE_PCT}% of allowed space. Free bytes ${FREE_SPACE} - OK")
 endif()