mirror of
https://github.com/libarchive/libarchive.git
synced 2026-01-30 19:34:32 +00:00
In case that we don't have write access in the source dir, we have to write generated files in the build dir.
34 lines
1.3 KiB
CMake
34 lines
1.3 KiB
CMake
# - 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_BINARY_DIR}/build/pkgconfig/libarchive.pc
|
|
@ONLY)
|
|
# And install it, of course ;).
|
|
IF(ENABLE_INSTALL)
|
|
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/build/pkgconfig/libarchive.pc
|
|
DESTINATION "lib/pkgconfig")
|
|
ENDIF()
|