]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Move .pc generation to a dedicated script (#55).
authorNiLuJe <ninuje@gmail.com>
Tue, 24 Dec 2013 17:46:31 +0000 (18:46 +0100)
committerNiLuJe <ninuje@gmail.com>
Tue, 24 Dec 2013 17:46:31 +0000 (18:46 +0100)
CMakeLists.txt
build/cmake/CreatePkgConfigFile.cmake [new file with mode: 0644]

index 9623b7899c3a53d5009041b2c10b1775608bf1d1..d693fa76726f31bb8dc74720e1ce2e11f363f294 100644 (file)
@@ -1518,32 +1518,8 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in
 INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
 ADD_DEFINITIONS(-DHAVE_CONFIG_H)
 
-# Generate a libarchive.pc like autotools for pkg-config
-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 is all wrong, thus there's a good chance it'll make some binutils versions unhappy...
-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")
+# Handle generation of the libarchive.pc file for pkg-config
+INCLUDE(CreatePkgConfigFile)
 
 #
 # Register installation of PDF documents.
diff --git a/build/cmake/CreatePkgConfigFile.cmake b/build/cmake/CreatePkgConfigFile.cmake
new file mode 100644 (file)
index 0000000..f96bbef
--- /dev/null
@@ -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")