1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:17:35 +00:00

LibPublicSuffix: Add Library and Generators

This commit is contained in:
Cameron Youell 2023-05-31 11:38:52 +10:00 committed by Sam Atkins
parent c53d3e7aa4
commit 8fcf42f684
10 changed files with 287 additions and 0 deletions

View file

@ -17,6 +17,7 @@ serenity_option(ENABLE_COMPILETIME_HEADER_CHECK OFF CACHE BOOL "Enable compileti
serenity_option(ENABLE_TIME_ZONE_DATABASE_DOWNLOAD ON CACHE BOOL "Enable download of the IANA Time Zone Database at build time")
serenity_option(ENABLE_UNICODE_DATABASE_DOWNLOAD ON CACHE BOOL "Enable download of Unicode UCD and CLDR files at build time")
serenity_option(ENABLE_PUBLIC_SUFFIX_DOWNLOAD ON CACHE BOOL "Enable download of the Public Suffix List at build time")
serenity_option(INCLUDE_WASM_SPEC_TESTS OFF CACHE BOOL "Download and include the WebAssembly spec testsuite")
serenity_option(INCLUDE_FLAC_SPEC_TESTS OFF CACHE BOOL "Download and include the FLAC spec testsuite")
serenity_option(ENABLE_CACERT_DOWNLOAD ON CACHE BOOL "Enable download of cacert.pem at build time")

View file

@ -0,0 +1,25 @@
include(${CMAKE_CURRENT_LIST_DIR}/utils.cmake)
if (ENABLE_PUBLIC_SUFFIX_DOWNLOAD)
set(PUBLIC_SUFFIX_PATH "${SERENITY_CACHE_DIR}/PublicSuffix" CACHE PATH "Download location for PublicSuffix files")
set(PUBLIC_SUFFIX_DATA_URL "https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat")
set(PUBLIC_SUFFIX_DATA_PATH "${PUBLIC_SUFFIX_PATH}/public_suffix_list.dat")
set(PUBLIC_SUFFIX_DATA_HEADER PublicSuffixData.h)
set(PUBLIC_SUFFIX_DATA_IMPLEMENTATION PublicSuffixData.cpp)
download_file("${PUBLIC_SUFFIX_DATA_URL}" "${PUBLIC_SUFFIX_DATA_PATH}")
invoke_generator(
"PublicSuffixData"
Lagom::GeneratePublicSuffixData
"${PUBLIC_SUFFIX_PATH}/"
"${PUBLIC_SUFFIX_DATA_HEADER}"
"${PUBLIC_SUFFIX_DATA_IMPLEMENTATION}"
arguments -p "${PUBLIC_SUFFIX_DATA_PATH}"
)
set(PUBLIC_SUFFIX_SOURCES
${PUBLIC_SUFFIX_DATA_HEADER}
${PUBLIC_SUFFIX_DATA_IMPLEMENTATION}
)
endif()