diff --git a/cmake/install.cmake b/cmake/install.cmake
index cd35415..9cf0d34 100644
--- a/cmake/install.cmake
+++ b/cmake/install.cmake
@@ -7,12 +7,15 @@ function (install_project
     HEADER_MATCHING_REGEX i_header_matching_regex
     VERSION_HEADER i_version_header
     NAMESPACE i_namespace)
+
+  include(GNUInstallDirs)
+
   install (TARGETS ${i_target_name}
     EXPORT ${i_target_name}
-    RUNTIME DESTINATION bin
-    INCLUDES DESTINATION include
-    ARCHIVE DESTINATION lib
-    LIBRARY DESTINATION lib)
+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+    INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
 
   install (DIRECTORY include/
     DESTINATION include
@@ -30,7 +34,7 @@ function (install_project
 
   install(
     EXPORT ${i_target_name}
-    DESTINATION lib/cmake/${i_target_name}${i_target_output_suffix}
+    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${i_target_name}${i_target_output_suffix}
     FILE "${i_target_name}${i_target_output_suffix}.cmake"
     COMPONENT Devel)
 
@@ -55,7 +59,7 @@ function (install_project
     @ONLY
     )
 
-  set(ConfigPackageLocation "lib/cmake/${i_target_name}${i_target_output_suffix}")
+  set(ConfigPackageLocation "${CMAKE_INSTALL_LIBDIR}/cmake/${i_target_name}${i_target_output_suffix}")
   install(EXPORT ${i_target_name}
     FILE
     "${CMAKE_BASE_FILE_NAME}${CMAKE_FILE_OUTPUT_SUFFIX}-targets.cmake"
@@ -83,6 +83,6 @@ function (install_project
   install(FILES
     ${CMAKE_CURRENT_BINARY_DIR}/${i_target_name}${i_target_output_suffix}.pc
     DESTINATION
-    lib/pkgconfig
+    ${CMAKE_INSTALL_LIBDIR}/pkgconfig
     )
 endfunction (install_project)
