diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt
index b517da7b..d947aa4a 100644
--- a/bindings/c/CMakeLists.txt
+++ b/bindings/c/CMakeLists.txt
@@ -69,7 +69,7 @@ install(TARGETS tag_c
 )
 
 if(NOT BUILD_FRAMEWORK)
-	configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc)
+	configure_file(${CMAKE_CURRENT_SOURCE_DIR}/taglib_c.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc @ONLY)
 	install(FILES ${CMAKE_CURRENT_BINARY_DIR}/taglib_c.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 endif()
 
diff --git a/bindings/c/taglib_c.pc.cmake b/bindings/c/taglib_c.pc.cmake
index 97f0b5a1..178f1e50 100644
--- a/bindings/c/taglib_c.pc.cmake
+++ b/bindings/c/taglib_c.pc.cmake
@@ -1,12 +1,11 @@
-prefix=${CMAKE_INSTALL_PREFIX}
-exec_prefix=${CMAKE_INSTALL_PREFIX}
-libdir=${CMAKE_INSTALL_FULL_LIBDIR}
-includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR}
-
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
 
 Name: TagLib C Bindings
 Description: Audio meta-data library (C bindings)
 Requires: taglib
-Version: ${TAGLIB_LIB_VERSION_STRING}
-Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -ltag_c
-Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR}/taglib
+Version: @TAGLIB_LIB_VERSION_STRING@
+Libs: -L${libdir} -ltag_c
+Cflags: -I${includedir}/taglib
diff --git a/taglib.pc.cmake b/taglib.pc.cmake
index 4ddabe12..3800f078 100644
--- a/taglib.pc.cmake
+++ b/taglib.pc.cmake
@@ -1,7 +1,7 @@
 prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=@CMAKE_INSTALL_PREFIX@
-libdir=@CMAKE_INSTALL_FULL_LIBDIR@
-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
+exec_prefix=${prefix}
+libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
 
 Name: TagLib
 Description: Audio meta-data library