Procházet zdrojové kódy

LibEDID: Use correct paths for LibEDID generated files

Code generators that generate their files for both Lagom and Serenity
have a blob in their CMake file like this:

    set(TIME_ZONE_DATA_HEADER LibTimeZone/TimeZoneData.h)
    set(TIME_ZONE_DATA_IMPLEMENTATION LibTimeZone/TimeZoneData.cpp)
    set(TIME_ZONE_META_TARGET_PREFIX LibTimeZone_)

    if (CMAKE_CURRENT_BINARY_DIR MATCHES ".*/LibTimeZone")
        # Serenity build.
        set(TIME_ZONE_DATA_HEADER TimeZoneData.h)
        set(TIME_ZONE_DATA_IMPLEMENTATION TimeZoneData.cpp)
        set(TIME_ZONE_META_TARGET_PREFIX "")
    endif()

LibEDID generates files only for Serenity, but was using the Lagom build
version of the _HEADER, _IMPLEMENTATION, and _PREFIX variables. Thus if
pnp_ids.cmake was ever touched, the following error would be raised:

    Userland/Libraries/LibEDID/EDID.cpp:18:18: fatal error:
    LibEDID/PnpIDs.h: No such file or directory
        18 | #        include <LibEDID/LibEDID/PnpIDs.h>

Use the Serenity paths in pnp_ids.cmake and in the #include within
LibEDID itself.
Timothy Flynn před 3 roky
rodič
revize
99c8dadcec
2 změnil soubory, kde provedl 4 přidání a 4 odebrání
  1. 3 3
      Meta/CMake/pnp_ids.cmake
  2. 1 1
      Userland/Libraries/LibEDID/EDID.cpp

+ 3 - 3
Meta/CMake/pnp_ids.cmake

@@ -9,9 +9,9 @@ if(ENABLE_PNP_IDS_DOWNLOAD AND NOT EXISTS ${PNP_IDS_EXPORT_PATH})
     file(MAKE_DIRECTORY ${CMAKE_INSTALL_DATAROOTDIR})
     download_file("${PNP_IDS_URL}" "${PNP_IDS_EXPORT_PATH}")
 
-    set(PNP_IDS_HEADER LibEDID/PnpIDs.h)
-    set(PNP_IDS_IMPLEMENTATION LibEDID/PnpIDs.cpp)
-    set(PNP_IDS_TARGET_PREFIX LibEDID_)
+    set(PNP_IDS_HEADER PnpIDs.h)
+    set(PNP_IDS_IMPLEMENTATION PnpIDs.cpp)
+    set(PNP_IDS_TARGET_PREFIX "")
 
     invoke_generator(
         "PnpIDsData"

+ 1 - 1
Userland/Libraries/LibEDID/EDID.cpp

@@ -15,7 +15,7 @@
 #    include <unistd.h>
 
 #    ifdef ENABLE_PNP_IDS_DATA
-#        include <LibEDID/LibEDID/PnpIDs.h>
+#        include <LibEDID/PnpIDs.h>
 #    endif
 #endif