aboutsummaryrefslogtreecommitdiffhomepage
path: root/CMake
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2020-10-12 23:21:30 +0300
committerlevlam <levlam@telegram.org>2020-10-12 23:21:30 +0300
commite3449e0df870f743d9e82c6982400c04f989082f (patch)
treebd0e6b8bd045debc666f0d7253e57246b57a0189 /CMake
parentcb0688d7921d7c207858cb6303e336e7c3e930f9 (diff)
GeneratePkgConfig: remove duplicate libraries.
GitOrigin-RevId: b16e2a7e99d22508e09f5df419d27874941991f6
Diffstat (limited to 'CMake')
-rw-r--r--CMake/GeneratePkgConfig.cmake14
1 files changed, 9 insertions, 5 deletions
diff --git a/CMake/GeneratePkgConfig.cmake b/CMake/GeneratePkgConfig.cmake
index dc26c0d21..a9ab15ee6 100644
--- a/CMake/GeneratePkgConfig.cmake
+++ b/CMake/GeneratePkgConfig.cmake
@@ -33,16 +33,20 @@ function(generate_pkgconfig TARGET DESCRIPTION)
endforeach()
if (HAS_REQS)
- set(REQUIRES "\nRequires.private:")
+ set(REQUIRES "")
foreach (REQ ${REQS})
set(REQUIRES "${REQUIRES} ${REQ}")
endforeach()
+ set(REQUIRES "Requires.private:${REQUIRES}\n")
endif()
if (HAS_LIBS)
- set(LIBRARIES "\nLibs.private:")
+ set(LIBRARIES "")
+ list(REVERSE LIBS)
+ list(REMOVE_DUPLICATES LIBS)
foreach (LIB ${LIBS})
- set(LIBRARIES "${LIBRARIES} ${LIB}")
+ set(LIBRARIES " ${LIB}${LIBRARIES}")
endforeach()
+ set(LIBRARIES "Libs.private:${LIBRARIES}\n")
endif()
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig")
@@ -56,8 +60,8 @@ Description: ${DESCRIPTION}
Version: ${PROJECT_VERSION}
CFlags: -I\${includedir}
-Libs: -L\${libdir} -l${TARGET}${REQUIRES}${LIBRARIES}
-")
+Libs: -L\${libdir} -l${TARGET}
+${REQUIRES}${LIBRARIES}")
install(FILES "pkgconfig/${TARGET}.pc" DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig")
endfunction()