Skip to content

Commit 72a7649

Browse files
committed
cmake: plutosvg has a dependency on plutovg
1 parent 9a59dbd commit 72a7649

File tree

3 files changed

+57
-4
lines changed

3 files changed

+57
-4
lines changed

CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,8 +352,12 @@ if(SDLTTF_PLUTOSVG)
352352
if(SDLTTF_BUILD_SHARED_LIBS)
353353
set(plutosvg_link_libraries plutosvg::plutosvg)
354354
else()
355-
set(plutosvg_compile_definitions $<TARGET_PROPERTY:plutosvg::plutosvg,INTERFACE_COMPILE_DEFINITIONS>)
356-
set(plutosvg_include_directories $<TARGET_PROPERTY:plutosvg::plutosvg,INTERFACE_INCLUDE_DIRECTORIES>)
355+
set(plutosvg_compile_definitions
356+
$<TARGET_PROPERTY:plutovg::plutovg,INTERFACE_COMPILE_DEFINITIONS>
357+
$<TARGET_PROPERTY:plutosvg::plutosvg,INTERFACE_COMPILE_DEFINITIONS>)
358+
set(plutosvg_include_directories
359+
$<TARGET_PROPERTY:plutovg::plutovg,INTERFACE_INCLUDE_DIRECTORIES>
360+
$<TARGET_PROPERTY:plutosvg::plutosvg,INTERFACE_INCLUDE_DIRECTORIES>)
357361
set(plutosvg_sources $<TARGET_OBJECTS:plutosvg> $<TARGET_OBJECTS:plutovg>)
358362
endif()
359363
else()
@@ -437,6 +441,7 @@ if(SDLTTF_INSTALL)
437441
cmake/PkgConfigHelper.cmake
438442
cmake/Findharfbuzz.cmake
439443
cmake/Findplutosvg.cmake
444+
cmake/Findplutovg.cmake
440445
DESTINATION "${SDLTTF_INSTALL_CMAKEDIR}"
441446
COMPONENT devel
442447
)

cmake/Findplutosvg.cmake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ set(plutosvg_LINK_OPTIONS "${_plutosvg_link_options}" CACHE STRING "Extra link f
2727

2828
set(plutosvg_LINK_DIRECTORIES "${_plutosvg_link_directories}" CACHE STRING "Extra link flags of plutosvg")
2929

30+
find_package(plutovg)
31+
3032
find_package_handle_standard_args(plutosvg
31-
REQUIRED_VARS plutosvg_LIBRARY plutosvg_INCLUDE_PATH
33+
REQUIRED_VARS plutosvg_LIBRARY plutosvg_INCLUDE_PATH plutovg_FOUND
3234
)
3335

3436
if(plutosvg_FOUND)
@@ -38,7 +40,7 @@ if(plutosvg_FOUND)
3840
IMPORTED_LOCATION "${plutosvg_LIBRARY}"
3941
INTERFACE_INCLUDE_DIRECTORIES "${plutosvg_INCLUDE_PATH}"
4042
INTERFACE_COMPILE_OPTIONS "${plutosvg_COMPILE_OPTIONS}"
41-
INTERFACE_LINK_LIBRARIES "${plutosvg_LINK_LIBRARIES}"
43+
INTERFACE_LINK_LIBRARIES "${plutosvg_LINK_LIBRARIES};plutovg::plutovg"
4244
INTERFACE_LINK_OPTIONS "${plutosvg_LINK_OPTIONS}"
4345
INTERFACE_LINK_DIRECTORIES "${plutosvg_LINK_DIRECTORIES}"
4446
)

cmake/Findplutovg.cmake

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
include(FindPackageHandleStandardArgs)
3+
4+
find_package(PkgConfig QUIET)
5+
pkg_check_modules(PC_PLUTOSG QUIET plutovg)
6+
7+
find_library(plutovg_LIBRARY
8+
NAMES plutovg
9+
HINTS ${PC_PLUTOVG_LIBDIR}
10+
)
11+
12+
find_path(plutovg_INCLUDE_PATH
13+
NAMES plutovg.h
14+
PATH_SUFFIXES plutovg
15+
HINTS ${PC_PLUTOVG_INCLUDEDIR}
16+
)
17+
18+
if(PC_PLUTOVG_FOUND)
19+
get_flags_from_pkg_config("${plutovg_LIBRARY}" "PC_PLUTOVG" "_plutovg")
20+
endif()
21+
22+
set(plutovg_COMPILE_OPTIONS "${_plutovg_compile_options}" CACHE STRING "Extra compile flags of plutovg")
23+
24+
set(plutovg_LINK_LIBRARIES "${_plutovg_link_libraries}" CACHE STRING "Extra link libraries of plutovg")
25+
26+
set(plutovg_LINK_OPTIONS "${_plutovg_link_options}" CACHE STRING "Extra link flags of plutovg")
27+
28+
set(plutovg_LINK_DIRECTORIES "${_plutovg_link_directories}" CACHE STRING "Extra link flags of plutovg")
29+
30+
find_package_handle_standard_args(plutovg
31+
REQUIRED_VARS plutovg_LIBRARY plutovg_INCLUDE_PATH
32+
)
33+
34+
if(plutovg_FOUND)
35+
if(NOT TARGET plutovg::plutovg)
36+
add_library(plutovg::plutovg UNKNOWN IMPORTED)
37+
set_target_properties(plutovg::plutovg PROPERTIES
38+
IMPORTED_LOCATION "${plutovg_LIBRARY}"
39+
INTERFACE_INCLUDE_DIRECTORIES "${plutovg_INCLUDE_PATH}"
40+
INTERFACE_COMPILE_OPTIONS "${plutovg_COMPILE_OPTIONS}"
41+
INTERFACE_LINK_LIBRARIES "${plutovg_LINK_LIBRARIES}"
42+
INTERFACE_LINK_OPTIONS "${plutovg_LINK_OPTIONS}"
43+
INTERFACE_LINK_DIRECTORIES "${plutovg_LINK_DIRECTORIES}"
44+
)
45+
endif()
46+
endif()

0 commit comments

Comments
 (0)