mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30:19 +00:00
CMake: Consistently use imported targets for third party dependencies
This commit is contained in:
parent
0879489084
commit
a587eafbf4
Notes:
sideshowbarker
2024-07-17 18:13:59 +09:00
Author: https://github.com/ADKaster Commit: https://github.com/LadybirdBrowser/ladybird/commit/a587eafbf4 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/270 Reviewed-by: https://github.com/trflynn89 ✅
6 changed files with 15 additions and 36 deletions
|
@ -40,6 +40,10 @@ if (HAVE_PULSEAUDIO)
|
|||
target_compile_definitions(webcontent PUBLIC HAVE_PULSEAUDIO=1)
|
||||
endif()
|
||||
|
||||
if (HAS_FONTCONFIG)
|
||||
target_link_libraries(webcontent PRIVATE Fontconfig::Fontconfig)
|
||||
endif()
|
||||
|
||||
if (HAS_ACCELERATED_GRAPHICS)
|
||||
target_compile_definitions(webcontent PUBLIC HAS_ACCELERATED_GRAPHICS)
|
||||
target_link_libraries(webcontent PUBLIC LibAccelGfx)
|
||||
|
@ -73,10 +77,6 @@ else()
|
|||
add_executable(WebContent main.cpp)
|
||||
endif()
|
||||
|
||||
if (HAS_FONTCONFIG)
|
||||
target_link_libraries(webcontent PRIVATE Fontconfig::Fontconfig)
|
||||
endif()
|
||||
|
||||
target_link_libraries(WebContent PRIVATE webcontent LibURL)
|
||||
|
||||
target_sources(webcontent PUBLIC FILE_SET ladybird TYPE HEADERS
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
find_package(PkgConfig)
|
||||
pkg_check_modules(WOFF2 REQUIRED IMPORTED_TARGET libwoff2dec)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
WOFF2
|
||||
REQUIRED_VARS
|
||||
WOFF2_INCLUDE_DIRS
|
||||
WOFF2_LIBRARY_DIRS
|
||||
WOFF2_LIBRARIES
|
||||
)
|
|
@ -1,5 +1,3 @@
|
|||
include(woff2)
|
||||
|
||||
set(SOURCES
|
||||
AffineTransform.cpp
|
||||
AntiAliasingPainter.cpp
|
||||
|
@ -74,11 +72,6 @@ set(SOURCES
|
|||
serenity_lib(LibGfx gfx)
|
||||
target_link_libraries(LibGfx PRIVATE LibCompress LibCore LibCrypto LibFileSystem LibRIFF LibTextCodec LibIPC LibUnicode LibURL)
|
||||
|
||||
# Third-party
|
||||
target_include_directories(LibGfx PRIVATE ${WOFF2_INCLUDE_DIRS})
|
||||
target_link_libraries(LibGfx PRIVATE ${WOFF2_LIBRARIES})
|
||||
target_link_directories(LibGfx PRIVATE ${WOFF2_LIBRARY_DIRS})
|
||||
|
||||
set(generated_sources TIFFMetadata.h TIFFTagHandler.cpp)
|
||||
list(TRANSFORM generated_sources PREPEND "ImageFormats/")
|
||||
|
||||
|
@ -98,12 +91,11 @@ add_dependencies(LibGfx generate_tiff_files_handler)
|
|||
list(TRANSFORM generated_sources PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
||||
install(FILES ${generated_sources} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibGfx/ImageFormats")
|
||||
|
||||
find_package(JPEG REQUIRED)
|
||||
target_include_directories(LibGfx PRIVATE ${JPEG_INCLUDE_DIRS})
|
||||
target_link_libraries(LibGfx PRIVATE ${JPEG_LIBRARIES})
|
||||
target_link_directories(LibGfx PRIVATE ${JPEG_LIBRARY_DIRS})
|
||||
# Third-party
|
||||
find_package(PkgConfig)
|
||||
|
||||
pkg_check_modules(WOFF2 REQUIRED IMPORTED_TARGET libwoff2dec)
|
||||
find_package(JPEG REQUIRED)
|
||||
find_package(PNG REQUIRED)
|
||||
target_include_directories(LibGfx PRIVATE ${PNG_INCLUDE_DIRS})
|
||||
target_link_libraries(LibGfx PRIVATE ${PNG_LIBRARIES})
|
||||
target_link_directories(LibGfx PRIVATE ${PNG_LIBRARY_DIRS})
|
||||
|
||||
target_link_libraries(LibGfx PRIVATE PkgConfig::WOFF2 JPEG::JPEG PNG::PNG)
|
||||
|
|
|
@ -12,8 +12,7 @@ set(SOURCES
|
|||
serenity_lib(LibMedia media)
|
||||
target_link_libraries(LibMedia PRIVATE LibCore LibIPC LibGfx LibThreading)
|
||||
|
||||
# Third-party
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(AVCODEC REQUIRED IMPORTED_TARGET libavcodec)
|
||||
target_include_directories(LibMedia PRIVATE ${AVCODEC_INCLUDE_DIRS})
|
||||
target_link_directories(LibMedia PRIVATE ${AVCODEC_LIBRARY_DIRS})
|
||||
target_link_libraries(LibMedia PRIVATE ${AVCODEC_LIBRARIES})
|
||||
target_link_libraries(LibMedia PRIVATE PkgConfig::AVCODEC)
|
||||
|
|
|
@ -26,5 +26,4 @@ set(GENERATED_SOURCES ${CURRENT_LIB_GENERATED})
|
|||
serenity_lib(LibUnicode unicode)
|
||||
|
||||
find_package(ICU REQUIRED COMPONENTS data i18n uc)
|
||||
target_include_directories(LibUnicode PRIVATE ${ICU_INCLUDE_DIRS})
|
||||
target_link_libraries(LibUnicode PUBLIC ${ICU_LIBRARIES})
|
||||
target_link_libraries(LibUnicode PRIVATE ICU::i18n ICU::uc ICU::data)
|
||||
|
|
|
@ -49,9 +49,9 @@ serenity_lib(LibWebView webview)
|
|||
target_link_libraries(LibWebView PRIVATE LibCore LibFileSystem LibGfx LibIPC LibProtocol LibJS LibWeb LibUnicode LibURL)
|
||||
target_compile_definitions(LibWebView PRIVATE ENABLE_PUBLIC_SUFFIX=$<BOOL:${ENABLE_PUBLIC_SUFFIX_DOWNLOAD}>)
|
||||
|
||||
# Third-party
|
||||
find_package(SQLite3 REQUIRED)
|
||||
target_include_directories(LibWebView PRIVATE ${SQLite3_INCLUDE_DIRS})
|
||||
target_link_libraries(LibWebView PRIVATE ${SQLite3_LIBRARIES})
|
||||
target_link_libraries(LibWebView PRIVATE SQLite::SQLite3)
|
||||
|
||||
foreach(header ${GENERATED_SOURCES})
|
||||
get_filename_component(extension ${header} EXT)
|
||||
|
|
Loading…
Reference in a new issue