瀏覽代碼

LibUnicode: Make unicode data generation logic more relocatable

The previous logic had several checks for Lagom directories and
subdirectories. All we really want to do for these header checks is make
sure that the files end up in an included folder prefixed with
LibUnicode. We also don't need to hard code the path to the generator,
the $<TARGET_FILES> generator expression can create the path for us.
Andrew Kaster 4 年之前
父節點
當前提交
38707f4a20
共有 1 個文件被更改,包括 7 次插入13 次删除
  1. 7 13
      Userland/Libraries/LibUnicode/unicode_data.cmake

+ 7 - 13
Userland/Libraries/LibUnicode/unicode_data.cmake

@@ -30,23 +30,17 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
         file(DOWNLOAD ${WORD_BREAK_URL} ${WORD_BREAK_PATH} INACTIVITY_TIMEOUT 10)
         file(DOWNLOAD ${WORD_BREAK_URL} ${WORD_BREAK_PATH} INACTIVITY_TIMEOUT 10)
     endif()
     endif()
 
 
-    set(UNICODE_GENERATOR CodeGenerators/GenerateUnicodeData)
-    set(UNICODE_DATA_HEADER UnicodeData.h)
-    set(UNICODE_DATA_IMPLEMENTATION UnicodeData.cpp)
+    set(UNICODE_DATA_HEADER LibUnicode/UnicodeData.h)
+    set(UNICODE_DATA_IMPLEMENTATION LibUnicode/UnicodeData.cpp)
 
 
-    if (CMAKE_SOURCE_DIR MATCHES ".*/Lagom") # Lagom-only build.
-        set(UNICODE_GENERATOR LibUnicode/CodeGenerators/GenerateUnicodeData)
-        set(UNICODE_DATA_HEADER LibUnicode/UnicodeData.h)
-        set(UNICODE_DATA_IMPLEMENTATION LibUnicode/UnicodeData.cpp)
-    elseif (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/Lagom") # Lagom build within the main SerenityOS build.
-        set(UNICODE_GENERATOR ../../Userland/Libraries/LibUnicode/CodeGenerators/GenerateUnicodeData)
-        set(UNICODE_DATA_HEADER LibUnicode/UnicodeData.h)
-        set(UNICODE_DATA_IMPLEMENTATION LibUnicode/UnicodeData.cpp)
+    if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibUnicode") # Serenity build.
+        set(UNICODE_DATA_HEADER UnicodeData.h)
+        set(UNICODE_DATA_IMPLEMENTATION UnicodeData.cpp)
     endif()
     endif()
 
 
     add_custom_command(
     add_custom_command(
         OUTPUT ${UNICODE_DATA_HEADER}
         OUTPUT ${UNICODE_DATA_HEADER}
-        COMMAND ${write_if_different} ${UNICODE_DATA_HEADER} ${UNICODE_GENERATOR} -h -u ${UNICODE_DATA_PATH} -s ${SPECIAL_CASING_PATH} -p ${PROP_LIST_PATH} -w ${WORD_BREAK_PATH}
+        COMMAND ${write_if_different} ${UNICODE_DATA_HEADER} $<TARGET_FILE:GenerateUnicodeData> -h -u ${UNICODE_DATA_PATH} -s ${SPECIAL_CASING_PATH} -p ${PROP_LIST_PATH} -w ${WORD_BREAK_PATH}
         VERBATIM
         VERBATIM
         DEPENDS GenerateUnicodeData
         DEPENDS GenerateUnicodeData
         MAIN_DEPENDENCY ${UNICODE_DATA_PATH} ${SPECIAL_CASING_PATH}
         MAIN_DEPENDENCY ${UNICODE_DATA_PATH} ${SPECIAL_CASING_PATH}
@@ -54,7 +48,7 @@ if (ENABLE_UNICODE_DATABASE_DOWNLOAD)
 
 
     add_custom_command(
     add_custom_command(
         OUTPUT ${UNICODE_DATA_IMPLEMENTATION}
         OUTPUT ${UNICODE_DATA_IMPLEMENTATION}
-        COMMAND ${write_if_different} ${UNICODE_DATA_IMPLEMENTATION} ${UNICODE_GENERATOR} -c -u ${UNICODE_DATA_PATH} -s ${SPECIAL_CASING_PATH} -p ${PROP_LIST_PATH} -w ${WORD_BREAK_PATH}
+        COMMAND ${write_if_different} ${UNICODE_DATA_IMPLEMENTATION} $<TARGET_FILE:GenerateUnicodeData> -c -u ${UNICODE_DATA_PATH} -s ${SPECIAL_CASING_PATH} -p ${PROP_LIST_PATH} -w ${WORD_BREAK_PATH}
         VERBATIM
         VERBATIM
         DEPENDS GenerateUnicodeData
         DEPENDS GenerateUnicodeData
         MAIN_DEPENDENCY ${UNICODE_DATA_PATH} ${SPECIAL_CASING_PATH}
         MAIN_DEPENDENCY ${UNICODE_DATA_PATH} ${SPECIAL_CASING_PATH}