--- /dev/null
+function(install_public_headers DIRECTORY)
+ foreach(HEADER IN LISTS ARGN)
+ file(READ ${HEADER} HEADER_IN)
+ string(REGEX REPLACE "include *\"([^\"]+)\"" "include <\\1>" HEADER_OUT "${HEADER_IN}")
+ file(GENERATE
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${HEADER}
+ CONTENT "${HEADER_OUT}"
+ )
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${HEADER}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${DIRECTORY}
+ )
+ endforeach()
+endfunction()