Skip to content

Commit 08add08

Browse files
committed
Fix FindRESVG for Windows
1 parent 0f47446 commit 08add08

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

cmake/Modules/FindRESVG.cmake

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,18 +94,28 @@ find_package_handle_standard_args(RESVG
9494
# Export target
9595
if(RESVG_FOUND AND NOT TARGET RESVG::resvg)
9696
message(STATUS "Creating IMPORTED target RESVG::resvg")
97-
add_library(RESVG::resvg SHARED IMPORTED)
97+
if (WIN32)
98+
# Windows mis-links SHARED library targets
99+
add_library(RESVG::resvg UNKNOWN IMPORTED)
100+
message(STATUS " UNKNOWN IMPORTED target for Win32")
101+
else()
102+
# Linux needs SHARED to link because libresvg has no SONAME
103+
add_library(RESVG::resvg SHARED IMPORTED)
104+
set_property(TARGET RESVG::resvg APPEND PROPERTY
105+
IMPORTED_NO_SONAME TRUE)
106+
message(STATUS " SHARED IMPORTED target with IMPORTED_NO_SONAME")
107+
endif()
108+
109+
message(STATUS " INCLUDE_DIRECTORIES: ${RESVG_INCLUDE_DIRS}")
110+
message(STATUS " COMPILE_DEFINITIONS: ${RESVG_DEFINITIONS}")
111+
message(STATUS " IMPORTED_LOCATION: ${RESVG_LIBRARIES}")
98112

99-
set_target_properties(RESVG::resvg PROPERTIES
113+
set_property(TARGET RESVG::resvg APPEND PROPERTY
100114
INTERFACE_INCLUDE_DIRECTORIES "${RESVG_INCLUDE_DIRS}")
101115

102116
set_property(TARGET RESVG::resvg APPEND PROPERTY
103117
INTERFACE_COMPILE_DEFINITIONS "${RESVG_DEFINITIONS}")
104118

105-
# libresvg.so doesn't have a SONAME
106-
set_property(TARGET RESVG::resvg APPEND PROPERTY
107-
IMPORTED_NO_SONAME TRUE)
108-
109119
set_property(TARGET RESVG::resvg APPEND PROPERTY
110120
IMPORTED_LOCATION "${RESVG_LIBRARIES}")
111121
endif()

0 commit comments

Comments
 (0)