diff options
Diffstat (limited to 'build/cmake/CreatePkgConfigFile.cmake')
| -rw-r--r-- | build/cmake/CreatePkgConfigFile.cmake | 33 | 
1 files changed, 33 insertions, 0 deletions
| diff --git a/build/cmake/CreatePkgConfigFile.cmake b/build/cmake/CreatePkgConfigFile.cmake new file mode 100644 index 000000000000..fc8529a571f2 --- /dev/null +++ b/build/cmake/CreatePkgConfigFile.cmake @@ -0,0 +1,33 @@ +# - 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 ;). +IF(ENABLE_INSTALL) +  INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/build/pkgconfig/libarchive.pc +          DESTINATION "lib/pkgconfig") +ENDIF() | 
