summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibarchive/build/cmake/CreatePkgConfigFile.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2014-04-03 18:37:54 (GMT)
committerBrad King <brad.king@kitware.com>2014-04-03 19:02:49 (GMT)
commit2f1978632b709a9370b3cb1137375c05351d149c (patch)
tree85980710818211b8188709643e6714e8839feee9 /Utilities/cmlibarchive/build/cmake/CreatePkgConfigFile.cmake
parent23e4666cf57c31c719472debba83a43f54d351d8 (diff)
parent64713ae3ffddf6fbbfa7ea762c3d756cb245a066 (diff)
downloadCMake-2f1978632b709a9370b3cb1137375c05351d149c.zip
CMake-2f1978632b709a9370b3cb1137375c05351d149c.tar.gz
CMake-2f1978632b709a9370b3cb1137375c05351d149c.tar.bz2
Merge branch 'libarchive-upstream' into update-libarchive
Resolve conflicts in favor of the upstream side where possible. Resolve a logical conflict in archive_windows.h where the upstream port to Watcom was done slightly differently from ours.
Diffstat (limited to 'Utilities/cmlibarchive/build/cmake/CreatePkgConfigFile.cmake')
-rw-r--r--Utilities/cmlibarchive/build/cmake/CreatePkgConfigFile.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/Utilities/cmlibarchive/build/cmake/CreatePkgConfigFile.cmake b/Utilities/cmlibarchive/build/cmake/CreatePkgConfigFile.cmake
new file mode 100644
index 0000000..f96bbef
--- /dev/null
+++ b/Utilities/cmlibarchive/build/cmake/CreatePkgConfigFile.cmake
@@ -0,0 +1,31 @@
+# - Generate a libarchive.pc like autotools for pkg-config
+#
+
+# Set the required variables (we use the same input file as autotools)
+SET(prefix ${CMAKE_INSTALL_PREFIX})
+SET(exec_prefix \${prefix})
+SET(libdir \${exec_prefix}/lib)
+SET(includedir \${prefix}/include)
+# Now, this is not particularly pretty, nor is it terribly accurate...
+# Loop over all our additional libs
+FOREACH(mylib ${ADDITIONAL_LIBS})
+ # Extract the filename from the absolute path
+ GET_FILENAME_COMPONENT(mylib_name ${mylib} NAME_WE)
+ # Strip the lib prefix
+ STRING(REGEX REPLACE "^lib" "" mylib_name ${mylib_name})
+ # Append it to our LIBS string
+ SET(LIBS "${LIBS} -l${mylib_name}")
+ENDFOREACH()
+# libxml2 is easier, since it's already using pkg-config
+FOREACH(mylib ${PC_LIBXML_STATIC_LDFLAGS})
+ SET(LIBS "${LIBS} ${mylib}")
+ENDFOREACH()
+# FIXME: The order of the libraries doesn't take dependencies into account,
+# thus there's a good chance it'll make some binutils versions unhappy...
+# This only affects Libs.private (looked up for static builds) though.
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/pkgconfig/libarchive.pc.in
+ ${CMAKE_CURRENT_SOURCE_DIR}/build/pkgconfig/libarchive.pc
+ @ONLY)
+# And install it, of course ;).
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/build/pkgconfig/libarchive.pc
+ DESTINATION "lib/pkgconfig")