mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:37:35 +00:00
CMake+Userland: Use CMakeLists from Userland to build Lagom Libraries
Also do this for Shell. This greatly simplifies the CMakeLists in Lagom, replacing many glob patterns with a big list of libraries. There are still a few special libraries that need some help to conform to the pattern, like LibELF and LibWebView. It also lets us remove essentially all of the Serenity or Lagom binary directory detection logic from code generators, as now both projects directories enter the generator logic from the same place.
This commit is contained in:
parent
a01c0e81f3
commit
1ae0cfd08b
12 changed files with 217 additions and 461 deletions
|
@ -1,24 +1,12 @@
|
|||
function (generate_css_implementation)
|
||||
|
||||
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibWeb")
|
||||
# Serenity build
|
||||
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
SET(LIBWEB_OUTPUT_FOLDER "")
|
||||
SET(LIBWEB_META_PREFIX "")
|
||||
else()
|
||||
# Lagom Build
|
||||
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/../../Userland/Libraries/LibWeb")
|
||||
SET(LIBWEB_OUTPUT_FOLDER "LibWeb/")
|
||||
SET(LIBWEB_META_PREFIX "Lagom")
|
||||
endif()
|
||||
|
||||
set(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
invoke_generator(
|
||||
"Enums.cpp"
|
||||
Lagom::GenerateCSSEnums
|
||||
"${LIBWEB_INPUT_FOLDER}/CSS/Enums.json"
|
||||
"${LIBWEB_META_PREFIX}"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/Enums.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/Enums.cpp"
|
||||
""
|
||||
"CSS/Enums.h"
|
||||
"CSS/Enums.cpp"
|
||||
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/Enums.json"
|
||||
)
|
||||
|
||||
|
@ -26,9 +14,9 @@ function (generate_css_implementation)
|
|||
"MediaFeatureID.cpp"
|
||||
Lagom::GenerateCSSMediaFeatureID
|
||||
"${LIBWEB_INPUT_FOLDER}/CSS/MediaFeatures.json"
|
||||
"${LIBWEB_META_PREFIX}"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/MediaFeatureID.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/MediaFeatureID.cpp"
|
||||
""
|
||||
"CSS/MediaFeatureID.h"
|
||||
"CSS/MediaFeatureID.cpp"
|
||||
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/MediaFeatures.json"
|
||||
)
|
||||
|
||||
|
@ -36,9 +24,9 @@ function (generate_css_implementation)
|
|||
"PropertyID.cpp"
|
||||
Lagom::GenerateCSSPropertyID
|
||||
"${LIBWEB_INPUT_FOLDER}/CSS/Properties.json"
|
||||
"${LIBWEB_META_PREFIX}"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/PropertyID.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/PropertyID.cpp"
|
||||
""
|
||||
"CSS/PropertyID.h"
|
||||
"CSS/PropertyID.cpp"
|
||||
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/Properties.json"
|
||||
)
|
||||
|
||||
|
@ -46,9 +34,9 @@ function (generate_css_implementation)
|
|||
"TransformFunctions.cpp"
|
||||
Lagom::GenerateCSSTransformFunctions
|
||||
"${LIBWEB_INPUT_FOLDER}/CSS/TransformFunctions.json"
|
||||
"${LIBWEB_META_PREFIX}"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/TransformFunctions.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/TransformFunctions.cpp"
|
||||
""
|
||||
"CSS/TransformFunctions.h"
|
||||
"CSS/TransformFunctions.cpp"
|
||||
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/TransformFunctions.json"
|
||||
)
|
||||
|
||||
|
@ -56,62 +44,50 @@ function (generate_css_implementation)
|
|||
"ValueID.cpp"
|
||||
Lagom::GenerateCSSValueID
|
||||
"${LIBWEB_INPUT_FOLDER}/CSS/Identifiers.json"
|
||||
"${LIBWEB_META_PREFIX}"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/ValueID.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}CSS/ValueID.cpp"
|
||||
""
|
||||
"CSS/ValueID.h"
|
||||
"CSS/ValueID.cpp"
|
||||
arguments -j "${LIBWEB_INPUT_FOLDER}/CSS/Identifiers.json"
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${LIBWEB_OUTPUT_FOLDER}CSS/DefaultStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E make_directory ${LIBWEB_OUTPUT_FOLDER}CSS
|
||||
COMMAND "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh" default_stylesheet_source "${LIBWEB_INPUT_FOLDER}/CSS/Default.css" > ${LIBWEB_OUTPUT_FOLDER}CSS/DefaultStyleSheetSource.cpp.tmp
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${LIBWEB_OUTPUT_FOLDER}CSS/DefaultStyleSheetSource.cpp.tmp ${LIBWEB_OUTPUT_FOLDER}CSS/DefaultStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove ${LIBWEB_OUTPUT_FOLDER}CSS/DefaultStyleSheetSource.cpp.tmp
|
||||
OUTPUT CSS/DefaultStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E make_directory CSS
|
||||
COMMAND "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh" default_stylesheet_source "${LIBWEB_INPUT_FOLDER}/CSS/Default.css" > CSS/DefaultStyleSheetSource.cpp.tmp
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different CSS/DefaultStyleSheetSource.cpp.tmp CSS/DefaultStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove CSS/DefaultStyleSheetSource.cpp.tmp
|
||||
VERBATIM
|
||||
DEPENDS "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh"
|
||||
MAIN_DEPENDENCY ${LIBWEB_INPUT_FOLDER}/CSS/Default.css
|
||||
MAIN_DEPENDENCY "${LIBWEB_INPUT_FOLDER}/CSS/Default.css"
|
||||
)
|
||||
add_custom_target(generate_${LIBWEB_META_PREFIX}DefaultStyleSheetSource.cpp DEPENDS ${LIBWEB_OUTPUT_FOLDER}CSS/DefaultStyleSheetSource.cpp)
|
||||
add_dependencies(all_generated generate_${LIBWEB_META_PREFIX}DefaultStyleSheetSource.cpp)
|
||||
add_custom_target(generate_DefaultStyleSheetSource.cpp DEPENDS CSS/DefaultStyleSheetSource.cpp)
|
||||
add_dependencies(all_generated generate_DefaultStyleSheetSource.cpp)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${LIBWEB_OUTPUT_FOLDER}CSS/QuirksModeStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E make_directory ${LIBWEB_OUTPUT_FOLDER}CSS
|
||||
COMMAND "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh" quirks_mode_stylesheet_source "${LIBWEB_INPUT_FOLDER}/CSS/QuirksMode.css" > ${LIBWEB_OUTPUT_FOLDER}CSS/QuirksModeStyleSheetSource.cpp.tmp
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ${LIBWEB_OUTPUT_FOLDER}CSS/QuirksModeStyleSheetSource.cpp.tmp ${LIBWEB_OUTPUT_FOLDER}CSS/QuirksModeStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove ${LIBWEB_OUTPUT_FOLDER}CSS/QuirksModeStyleSheetSource.cpp.tmp
|
||||
OUTPUT CSS/QuirksModeStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E make_directory CSS
|
||||
COMMAND "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh" quirks_mode_stylesheet_source "${LIBWEB_INPUT_FOLDER}/CSS/QuirksMode.css" > CSS/QuirksModeStyleSheetSource.cpp.tmp
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different CSS/QuirksModeStyleSheetSource.cpp.tmp CSS/QuirksModeStyleSheetSource.cpp
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove CSS/QuirksModeStyleSheetSource.cpp.tmp
|
||||
VERBATIM
|
||||
DEPENDS "${LIBWEB_INPUT_FOLDER}/Scripts/GenerateStyleSheetSource.sh"
|
||||
MAIN_DEPENDENCY ${LIBWEB_INPUT_FOLDER}/CSS/Default.css
|
||||
MAIN_DEPENDENCY "${LIBWEB_INPUT_FOLDER}/CSS/Default.css"
|
||||
)
|
||||
add_custom_target(generate_${LIBWEB_META_PREFIX}QuirksModeStyleSheetSource.cpp DEPENDS ${LIBWEB_OUTPUT_FOLDER}CSS/QuirksModeStyleSheetSource.cpp)
|
||||
add_dependencies(all_generated generate_${LIBWEB_META_PREFIX}QuirksModeStyleSheetSource.cpp)
|
||||
add_custom_target(generate_QuirksModeStyleSheetSource.cpp DEPENDS CSS/QuirksModeStyleSheetSource.cpp)
|
||||
add_dependencies(all_generated generate_QuirksModeStyleSheetSource.cpp)
|
||||
|
||||
endfunction()
|
||||
|
||||
function (generate_js_bindings target)
|
||||
|
||||
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibWeb")
|
||||
# Serenity build
|
||||
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
SET(LIBWEB_OUTPUT_FOLDER "")
|
||||
SET(LIBWEB_META_PREFIX "")
|
||||
else()
|
||||
# Lagom Build
|
||||
SET(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/../../Userland/Libraries/LibWeb")
|
||||
SET(LIBWEB_OUTPUT_FOLDER "LibWeb/")
|
||||
SET(LIBWEB_META_PREFIX "Lagom")
|
||||
endif()
|
||||
|
||||
set(LIBWEB_INPUT_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
function(libweb_js_bindings class)
|
||||
cmake_parse_arguments(PARSE_ARGV 1 LIBWEB_BINDINGS "ITERABLE" "" "")
|
||||
get_filename_component(basename "${class}" NAME)
|
||||
set(BINDINGS_SOURCES
|
||||
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Constructor.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Constructor.cpp"
|
||||
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Prototype.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Prototype.cpp"
|
||||
"Bindings/${basename}Constructor.h"
|
||||
"Bindings/${basename}Constructor.cpp"
|
||||
"Bindings/${basename}Prototype.h"
|
||||
"Bindings/${basename}Prototype.cpp"
|
||||
)
|
||||
set(BINDINGS_TYPES
|
||||
constructor-header
|
||||
|
@ -123,8 +99,8 @@ function (generate_js_bindings target)
|
|||
# FIXME: Instead of requiring a manual declaration of iterable bindings, we should ask BindingsGenerator if it's iterable
|
||||
if(LIBWEB_BINDINGS_ITERABLE)
|
||||
list(APPEND BINDINGS_SOURCES
|
||||
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}IteratorPrototype.h"
|
||||
"${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}IteratorPrototype.cpp"
|
||||
"Bindings/${basename}IteratorPrototype.h"
|
||||
"Bindings/${basename}IteratorPrototype.cpp"
|
||||
)
|
||||
list(APPEND BINDINGS_TYPES
|
||||
iterator-prototype-header
|
||||
|
@ -147,16 +123,16 @@ function (generate_js_bindings target)
|
|||
COMMAND "${CMAKE_COMMAND}" -E remove "${bindings_src}.tmp"
|
||||
VERBATIM
|
||||
DEPENDS Lagom::BindingsGenerator
|
||||
MAIN_DEPENDENCY ${LIBWEB_INPUT_FOLDER}/${class}.idl
|
||||
MAIN_DEPENDENCY ${class}.idl
|
||||
)
|
||||
endforeach()
|
||||
add_custom_target(generate_${basename}Constructor.h DEPENDS ${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Constructor.h)
|
||||
add_custom_target(generate_${basename}Constructor.h DEPENDS Bindings/${basename}Constructor.h)
|
||||
add_dependencies(all_generated generate_${basename}Constructor.h)
|
||||
add_custom_target(generate_${basename}Constructor.cpp DEPENDS ${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Constructor.cpp)
|
||||
add_custom_target(generate_${basename}Constructor.cpp DEPENDS Bindings/${basename}Constructor.cpp)
|
||||
add_dependencies(all_generated generate_${basename}Constructor.cpp)
|
||||
add_custom_target(generate_${basename}Prototype.h DEPENDS ${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Prototype.h)
|
||||
add_custom_target(generate_${basename}Prototype.h DEPENDS Bindings/${basename}Prototype.h)
|
||||
add_dependencies(all_generated generate_${basename}Prototype.h)
|
||||
add_custom_target(generate_${basename}Prototype.cpp DEPENDS ${LIBWEB_OUTPUT_FOLDER}Bindings/${basename}Prototype.cpp)
|
||||
add_custom_target(generate_${basename}Prototype.cpp DEPENDS Bindings/${basename}Prototype.cpp)
|
||||
add_dependencies(all_generated generate_${basename}Prototype.cpp)
|
||||
|
||||
list(APPEND LIBWEB_ALL_IDL_FILES "${LIBWEB_INPUT_FOLDER}/${class}.idl")
|
||||
|
@ -167,27 +143,27 @@ function (generate_js_bindings target)
|
|||
set(exposed_interface_sources DedicatedWorkerExposedInterfaces.cpp DedicatedWorkerExposedInterfaces.h
|
||||
SharedWorkerExposedInterfaces.cpp SharedWorkerExposedInterfaces.h
|
||||
WindowExposedInterfaces.cpp WindowExposedInterfaces.h)
|
||||
list(TRANSFORM exposed_interface_sources PREPEND "${LIBWEB_OUTPUT_FOLDER}Bindings/")
|
||||
list(TRANSFORM exposed_interface_sources PREPEND "Bindings/")
|
||||
add_custom_command(
|
||||
OUTPUT ${exposed_interface_sources}
|
||||
COMMAND "${CMAKE_COMMAND}" -E make_directory "tmp"
|
||||
COMMAND $<TARGET_FILE:Lagom::GenerateWindowOrWorkerInterfaces> -o "${CMAKE_CURRENT_BINARY_DIR}/tmp" -b "${LIBWEB_INPUT_FOLDER}" ${LIBWEB_ALL_IDL_FILES}
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/DedicatedWorkerExposedInterfaces.h "${LIBWEB_OUTPUT_FOLDER}Bindings/DedicatedWorkerExposedInterfaces.h"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/DedicatedWorkerExposedInterfaces.cpp "${LIBWEB_OUTPUT_FOLDER}Bindings/DedicatedWorkerExposedInterfaces.cpp"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/SharedWorkerExposedInterfaces.h "${LIBWEB_OUTPUT_FOLDER}Bindings/SharedWorkerExposedInterfaces.h"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/SharedWorkerExposedInterfaces.cpp "${LIBWEB_OUTPUT_FOLDER}Bindings/SharedWorkerExposedInterfaces.cpp"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/WindowExposedInterfaces.h "${LIBWEB_OUTPUT_FOLDER}Bindings/WindowExposedInterfaces.h"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/WindowExposedInterfaces.cpp "${LIBWEB_OUTPUT_FOLDER}Bindings/WindowExposedInterfaces.cpp"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/DedicatedWorkerExposedInterfaces.h "Bindings/DedicatedWorkerExposedInterfaces.h"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/DedicatedWorkerExposedInterfaces.cpp "Bindings/DedicatedWorkerExposedInterfaces.cpp"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/SharedWorkerExposedInterfaces.h "Bindings/SharedWorkerExposedInterfaces.h"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/SharedWorkerExposedInterfaces.cpp "Bindings/SharedWorkerExposedInterfaces.cpp"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/WindowExposedInterfaces.h "Bindings/WindowExposedInterfaces.h"
|
||||
COMMAND "${CMAKE_COMMAND}" -E copy_if_different tmp/WindowExposedInterfaces.cpp "Bindings/WindowExposedInterfaces.cpp"
|
||||
COMMAND "${CMAKE_COMMAND}" -E remove_directory "${CMAKE_CURRENT_BINARY_DIR}/tmp"
|
||||
VERBATIM
|
||||
DEPENDS Lagom::GenerateWindowOrWorkerInterfaces ${LIBWEB_ALL_IDL_FILES}
|
||||
)
|
||||
target_sources(${target} PRIVATE ${exposed_interface_sources})
|
||||
add_custom_target("generate_${LIBWEB_META_PREFIX}exposed_interfaces" DEPENDS ${exposed_interface_sources})
|
||||
add_dependencies(all_generated "generate_${LIBWEB_META_PREFIX}exposed_interfaces")
|
||||
add_custom_target("generate_exposed_interfaces" DEPENDS ${exposed_interface_sources})
|
||||
add_dependencies(all_generated "generate_exposed_interfaces")
|
||||
endfunction()
|
||||
|
||||
include("${LIBWEB_INPUT_FOLDER}/idl_files.cmake")
|
||||
include("idl_files.cmake")
|
||||
generate_exposed_interface_files()
|
||||
|
||||
endfunction()
|
||||
|
|
|
@ -40,47 +40,26 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
|||
extract_path("${CLDR_PATH}" "${CLDR_ZIP_PATH}" "${CLDR_NUMBERS_SOURCE}/**" "${CLDR_NUMBERS_PATH}")
|
||||
extract_path("${CLDR_PATH}" "${CLDR_ZIP_PATH}" "${CLDR_UNITS_SOURCE}/**" "${CLDR_UNITS_PATH}")
|
||||
|
||||
set(DATE_TIME_FORMAT_DATA_HEADER LibLocale/DateTimeFormatData.h)
|
||||
set(DATE_TIME_FORMAT_DATA_IMPLEMENTATION LibLocale/DateTimeFormatData.cpp)
|
||||
set(DATE_TIME_FORMAT_DATA_HEADER DateTimeFormatData.h)
|
||||
set(DATE_TIME_FORMAT_DATA_IMPLEMENTATION DateTimeFormatData.cpp)
|
||||
|
||||
set(LOCALE_DATA_HEADER LibLocale/LocaleData.h)
|
||||
set(LOCALE_DATA_IMPLEMENTATION LibLocale/LocaleData.cpp)
|
||||
set(LOCALE_DATA_HEADER LocaleData.h)
|
||||
set(LOCALE_DATA_IMPLEMENTATION LocaleData.cpp)
|
||||
|
||||
set(NUMBER_FORMAT_DATA_HEADER LibLocale/NumberFormatData.h)
|
||||
set(NUMBER_FORMAT_DATA_IMPLEMENTATION LibLocale/NumberFormatData.cpp)
|
||||
set(NUMBER_FORMAT_DATA_HEADER NumberFormatData.h)
|
||||
set(NUMBER_FORMAT_DATA_IMPLEMENTATION NumberFormatData.cpp)
|
||||
|
||||
set(PLURAL_RULES_DATA_HEADER LibLocale/PluralRulesData.h)
|
||||
set(PLURAL_RULES_DATA_IMPLEMENTATION LibLocale/PluralRulesData.cpp)
|
||||
set(PLURAL_RULES_DATA_HEADER PluralRulesData.h)
|
||||
set(PLURAL_RULES_DATA_IMPLEMENTATION PluralRulesData.cpp)
|
||||
|
||||
set(RELATIVE_TIME_FORMAT_DATA_HEADER LibLocale/RelativeTimeFormatData.h)
|
||||
set(RELATIVE_TIME_FORMAT_DATA_IMPLEMENTATION LibLocale/RelativeTimeFormatData.cpp)
|
||||
|
||||
set(LOCALE_META_TARGET_PREFIX LibLocale_)
|
||||
|
||||
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibLocale") # Serenity build.
|
||||
set(DATE_TIME_FORMAT_DATA_HEADER DateTimeFormatData.h)
|
||||
set(DATE_TIME_FORMAT_DATA_IMPLEMENTATION DateTimeFormatData.cpp)
|
||||
|
||||
set(LOCALE_DATA_HEADER LocaleData.h)
|
||||
set(LOCALE_DATA_IMPLEMENTATION LocaleData.cpp)
|
||||
|
||||
set(NUMBER_FORMAT_DATA_HEADER NumberFormatData.h)
|
||||
set(NUMBER_FORMAT_DATA_IMPLEMENTATION NumberFormatData.cpp)
|
||||
|
||||
set(PLURAL_RULES_DATA_HEADER PluralRulesData.h)
|
||||
set(PLURAL_RULES_DATA_IMPLEMENTATION PluralRulesData.cpp)
|
||||
|
||||
set(RELATIVE_TIME_FORMAT_DATA_HEADER RelativeTimeFormatData.h)
|
||||
set(RELATIVE_TIME_FORMAT_DATA_IMPLEMENTATION RelativeTimeFormatData.cpp)
|
||||
|
||||
set(LOCALE_META_TARGET_PREFIX "")
|
||||
endif()
|
||||
set(RELATIVE_TIME_FORMAT_DATA_HEADER RelativeTimeFormatData.h)
|
||||
set(RELATIVE_TIME_FORMAT_DATA_IMPLEMENTATION RelativeTimeFormatData.cpp)
|
||||
|
||||
invoke_generator(
|
||||
"DateTimeFormatData"
|
||||
Lagom::GenerateDateTimeFormatData
|
||||
"${CLDR_VERSION_FILE}"
|
||||
"${LOCALE_META_TARGET_PREFIX}"
|
||||
""
|
||||
"${DATE_TIME_FORMAT_DATA_HEADER}"
|
||||
"${DATE_TIME_FORMAT_DATA_IMPLEMENTATION}"
|
||||
arguments -r "${CLDR_CORE_PATH}" -d "${CLDR_DATES_PATH}"
|
||||
|
@ -89,7 +68,7 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
|||
"LocaleData"
|
||||
Lagom::GenerateLocaleData
|
||||
"${CLDR_VERSION_FILE}"
|
||||
"${LOCALE_META_TARGET_PREFIX}"
|
||||
""
|
||||
"${LOCALE_DATA_HEADER}"
|
||||
"${LOCALE_DATA_IMPLEMENTATION}"
|
||||
arguments -b "${CLDR_BCP47_PATH}" -r "${CLDR_CORE_PATH}" -l "${CLDR_LOCALES_PATH}" -m "${CLDR_MISC_PATH}" -n "${CLDR_NUMBERS_PATH}" -d "${CLDR_DATES_PATH}"
|
||||
|
@ -98,7 +77,7 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
|||
"NumberFormatData"
|
||||
Lagom::GenerateNumberFormatData
|
||||
"${CLDR_VERSION_FILE}"
|
||||
"${LOCALE_META_TARGET_PREFIX}"
|
||||
""
|
||||
"${NUMBER_FORMAT_DATA_HEADER}"
|
||||
"${NUMBER_FORMAT_DATA_IMPLEMENTATION}"
|
||||
arguments -r "${CLDR_CORE_PATH}" -n "${CLDR_NUMBERS_PATH}" -u "${CLDR_UNITS_PATH}"
|
||||
|
@ -107,7 +86,7 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
|||
"PluralRulesData"
|
||||
Lagom::GeneratePluralRulesData
|
||||
"${CLDR_VERSION_FILE}"
|
||||
"${LOCALE_META_TARGET_PREFIX}"
|
||||
""
|
||||
"${PLURAL_RULES_DATA_HEADER}"
|
||||
"${PLURAL_RULES_DATA_IMPLEMENTATION}"
|
||||
arguments -r "${CLDR_CORE_PATH}" -l "${CLDR_LOCALES_PATH}"
|
||||
|
@ -116,7 +95,7 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
|||
"RelativeTimeFormatData"
|
||||
Lagom::GenerateRelativeTimeFormatData
|
||||
"${CLDR_VERSION_FILE}"
|
||||
"${LOCALE_META_TARGET_PREFIX}"
|
||||
""
|
||||
"${RELATIVE_TIME_FORMAT_DATA_HEADER}"
|
||||
"${RELATIVE_TIME_FORMAT_DATA_IMPLEMENTATION}"
|
||||
arguments -d "${CLDR_DATES_PATH}"
|
||||
|
|
|
@ -90,29 +90,17 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
|||
|
||||
download_file("${EMOJI_TEST_URL}" "${EMOJI_TEST_PATH}")
|
||||
|
||||
set(UNICODE_DATA_HEADER LibUnicode/UnicodeData.h)
|
||||
set(UNICODE_DATA_IMPLEMENTATION LibUnicode/UnicodeData.cpp)
|
||||
set(UNICODE_DATA_HEADER UnicodeData.h)
|
||||
set(UNICODE_DATA_IMPLEMENTATION UnicodeData.cpp)
|
||||
|
||||
set(EMOJI_DATA_HEADER LibUnicode/EmojiData.h)
|
||||
set(EMOJI_DATA_IMPLEMENTATION LibUnicode/EmojiData.cpp)
|
||||
|
||||
set(UNICODE_META_TARGET_PREFIX LibUnicode_)
|
||||
|
||||
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibUnicode") # Serenity build.
|
||||
set(UNICODE_DATA_HEADER UnicodeData.h)
|
||||
set(UNICODE_DATA_IMPLEMENTATION UnicodeData.cpp)
|
||||
|
||||
set(EMOJI_DATA_HEADER EmojiData.h)
|
||||
set(EMOJI_DATA_IMPLEMENTATION EmojiData.cpp)
|
||||
|
||||
set(UNICODE_META_TARGET_PREFIX "")
|
||||
endif()
|
||||
set(EMOJI_DATA_HEADER EmojiData.h)
|
||||
set(EMOJI_DATA_IMPLEMENTATION EmojiData.cpp)
|
||||
|
||||
invoke_generator(
|
||||
"UnicodeData"
|
||||
Lagom::GenerateUnicodeData
|
||||
"${UCD_VERSION_FILE}"
|
||||
"${UNICODE_META_TARGET_PREFIX}"
|
||||
""
|
||||
"${UNICODE_DATA_HEADER}"
|
||||
"${UNICODE_DATA_IMPLEMENTATION}"
|
||||
arguments -u "${UNICODE_DATA_PATH}" -s "${SPECIAL_CASING_PATH}" -g "${DERIVED_GENERAL_CATEGORY_PATH}" -p "${PROP_LIST_PATH}" -d "${DERIVED_CORE_PROP_PATH}" -b "${DERIVED_BINARY_PROP_PATH}" -a "${PROP_ALIAS_PATH}" -v "${PROP_VALUE_ALIAS_PATH}" -r "${SCRIPTS_PATH}" -x "${SCRIPT_EXTENSIONS_PATH}" -k "${BLOCKS_PATH}" -e "${EMOJI_DATA_PATH}" -m "${NAME_ALIAS_PATH}" -n "${NORM_PROPS_PATH}" -f "${GRAPHEME_BREAK_PROP_PATH}" -w "${WORD_BREAK_PROP_PATH}" -i "${SENTENCE_BREAK_PROP_PATH}"
|
||||
|
@ -121,13 +109,13 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
|||
"EmojiData"
|
||||
Lagom::GenerateEmojiData
|
||||
"${UCD_VERSION_FILE}"
|
||||
"${UNICODE_META_TARGET_PREFIX}"
|
||||
""
|
||||
"${EMOJI_DATA_HEADER}"
|
||||
"${EMOJI_DATA_IMPLEMENTATION}"
|
||||
arguments -e "${EMOJI_TEST_PATH}" -s "${EMOJI_SERENITY_PATH}"
|
||||
)
|
||||
|
||||
if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibUnicode") # Serenity build.
|
||||
if (SERENITYOS)
|
||||
add_custom_command(
|
||||
OUTPUT "${EMOJI_INSTALL_PATH}"
|
||||
COMMAND "${EMOJI_GENERATOR_PATH}" "${EMOJI_TEST_PATH}" "${EMOJI_RES_PATH}" "${EMOJI_INSTALL_PATH}"
|
||||
|
|
|
@ -155,7 +155,7 @@ function(embed_resource target section file)
|
|||
endfunction()
|
||||
|
||||
function(link_with_locale_data target)
|
||||
if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
|
||||
if (ENABLE_UNICODE_DATABASE_DOWNLOAD AND SERENITYOS)
|
||||
target_link_libraries("${target}" LibLocaleData)
|
||||
endif()
|
||||
endfunction()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue