mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 04:12:43 +00:00 
			
		
		
		
	Meta: Replace Bash script for generating emoji.txt with C++ generator
We currently have two build-time parsers for the UCD's emoji-test.txt file. To prepare for future changes, this removes the Bash parser and moves its functionality to the newer C++ parser.
This commit is contained in:
		
							parent
							
								
									b5a876e606
								
							
						
					
					
						commit
						bd592480e4
					
				
					 3 changed files with 101 additions and 94 deletions
				
			
		|  | @ -61,7 +61,6 @@ set(SENTENCE_BREAK_PROP_PATH "${UCD_PATH}/${SENTENCE_BREAK_PROP_SOURCE}") | |||
| string(REGEX REPLACE "([0-9]+\\.[0-9]+)\\.[0-9]+" "\\1" EMOJI_VERSION "${UCD_VERSION}") | ||||
| set(EMOJI_TEST_URL "https://unicode.org/Public/emoji/${EMOJI_VERSION}/emoji-test.txt") | ||||
| set(EMOJI_TEST_PATH "${UCD_PATH}/emoji-test.txt") | ||||
| set(EMOJI_GENERATOR_PATH "${SerenityOS_SOURCE_DIR}/Meta/generate-emoji-txt.sh") | ||||
| set(EMOJI_RES_PATH "${SerenityOS_SOURCE_DIR}/Base/res/emoji") | ||||
| set(EMOJI_SERENITY_PATH "${SerenityOS_SOURCE_DIR}/Base/home/anon/Documents/emoji-serenity.txt") | ||||
| set(EMOJI_INSTALL_PATH "${CMAKE_BINARY_DIR}/Root/home/anon/Documents/emoji.txt") | ||||
|  | @ -96,6 +95,10 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD) | |||
|     set(EMOJI_DATA_HEADER EmojiData.h) | ||||
|     set(EMOJI_DATA_IMPLEMENTATION EmojiData.cpp) | ||||
| 
 | ||||
|     if (SERENITYOS) | ||||
|         set(EMOJI_INSTALL_ARG -i "${EMOJI_INSTALL_PATH}") | ||||
|     endif() | ||||
| 
 | ||||
|     invoke_generator( | ||||
|         "UnicodeData" | ||||
|         Lagom::GenerateUnicodeData | ||||
|  | @ -110,22 +113,14 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD) | |||
|         "${UCD_VERSION_FILE}" | ||||
|         "${EMOJI_DATA_HEADER}" | ||||
|         "${EMOJI_DATA_IMPLEMENTATION}" | ||||
|         arguments -e "${EMOJI_TEST_PATH}" -s "${EMOJI_SERENITY_PATH}" | ||||
|     ) | ||||
|         arguments "${EMOJI_INSTALL_ARG}" -e "${EMOJI_TEST_PATH}" -s "${EMOJI_SERENITY_PATH}" -r "${EMOJI_RES_PATH}" | ||||
| 
 | ||||
|     if (SERENITYOS) | ||||
|         add_custom_command( | ||||
|             OUTPUT "${EMOJI_INSTALL_PATH}" | ||||
|             COMMAND "${EMOJI_GENERATOR_PATH}" "${EMOJI_TEST_PATH}" "${EMOJI_RES_PATH}" "${EMOJI_INSTALL_PATH}" | ||||
|             # This will make this command only run when the modified time of the directory changes, | ||||
|             # which only happens if files within it are added or deleted, but not when a file is modified. | ||||
|             # This is fine for this use-case, because the contents of a file changing should not affect | ||||
|             # the generated emoji.txt file. | ||||
|             DEPENDS "${EMOJI_GENERATOR_PATH}" "${EMOJI_RES_PATH}" "${EMOJI_TEST_PATH}" | ||||
|             USES_TERMINAL | ||||
|         ) | ||||
|         add_custom_target(generate_emoji_txt ALL DEPENDS "${EMOJI_INSTALL_PATH}") | ||||
|     endif() | ||||
|         # This will make this command only run when the modified time of the directory changes, | ||||
|         # which only happens if files within it are added or deleted, but not when a file is modified. | ||||
|         # This is fine for this use-case, because the contents of a file changing should not affect | ||||
|         # the generated emoji.txt file. | ||||
|         dependencies "${EMOJI_RES_PATH}" "${EMOJI_SERENITY_PATH}" | ||||
|     ) | ||||
| 
 | ||||
|     set(UNICODE_DATA_SOURCES | ||||
|         ${UNICODE_DATA_HEADER} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Timothy Flynn
						Timothy Flynn