@@ -626,30 +626,26 @@ endif()
626626#
627627# this gets the libraries needed by TARGET in "-libx -liby ..." form
628628#
629- function (get_link_libraries OUT TARGET )
629+ function (get_link_libraries OUT EXTRA_LIBS )
630630 set (RESULT "" )
631- get_target_property (LIBRARIES ${TARGET} INTERFACE_LINK_LIBRARIES)
632- foreach (LIB ${LIBRARIES} )
633- if (NOT LIB)
634- continue ()
631+ foreach (LIB ${ADDITIONAL_LIBS} ${EXTRA_LIBS} )
632+ if (LIB MATCHES "^-" )
633+ list (APPEND RESULT " ${LIB} " )
634+ else ()
635+ get_filename_component (FNAME "${LIB} " NAME )
636+ string (REGEX REPLACE "^${CMAKE_SHARED_LIBRARY_PREFIX} (.+)${CMAKE_SHARED_LIBRARY_SUFFIX} $" "\\ 1" LIB "${FNAME} " )
637+ list (APPEND RESULT " -l${LIB} " )
635638 endif ()
636- string (REGEX REPLACE "^.*/lib" "" LIB ${LIB} ) # remove leading path and "lib" name prefix
637- string (REGEX REPLACE "-l" "" LIB ${LIB} ) # remove leading -l
638- string (REGEX REPLACE "\\ .so$" "" LIB ${LIB} ) # remove trailing .so
639- list (APPEND RESULT "-l${LIB} " )
640639 endforeach ()
641640 list (REMOVE_DUPLICATES RESULT)
642641 string (CONCAT RESULT ${RESULT} ) # back to string
643- if (RESULT)
644- string (REPLACE "-l" " -l" RESULT ${RESULT} ) # re-add separators
645- endif ()
646642 set (${OUT} ${RESULT} PARENT_SCOPE)
647643endfunction ()
648644
649645if (NOT WIN32 )
650- get_link_libraries(PRIVATE_LIBS vncserver )
646+ get_link_libraries(PRIVATE_LIBS " ${PNG_LIBRARIES} " )
651647 configure_file (${CMAKE_CURRENT_SOURCE_DIR} /libvncserver.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR} /libvncserver.pc @ONLY)
652- get_link_libraries(PRIVATE_LIBS vncclient )
648+ get_link_libraries(PRIVATE_LIBS "" )
653649 configure_file (${CMAKE_CURRENT_SOURCE_DIR} /libvncclient.pc.cmakein ${CMAKE_CURRENT_BINARY_DIR} /libvncclient.pc @ONLY)
654650endif ()
655651
0 commit comments