diff --git a/install-helpers.cmake b/install-helpers.cmake
new file mode 100644
index 00000000..840224ff
--- /dev/null
+++ b/install-helpers.cmake
@@ -0,0 +1,41 @@
+# Copyright (C) 2024 INRIA.
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option) any
+# later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License along
+# with this program. If not, see .
+
+# .rst:
+# ~~~
+# .. command:: ADD_INSTALL_TARGET (
+# NAME
+# COMPONENT )
+# ~~~
+#
+# This function add a custom target named install- that will run cmake
+# install for a specific .
+#
+# :param name: Target name suffix (install-).
+#
+# :param component: component to install.
+function(ADD_INSTALL_TARGET)
+ set(options)
+ set(oneValueArgs NAME COMPONENT)
+ set(multiValueArgs)
+ cmake_parse_arguments(ARGS "${options}" "${oneValueArgs}" "${multiValueArgs}"
+ ${ARGN})
+ set(target_name install-${ARGS_NAME})
+ set(component ${ARGS_COMPONENT})
+
+ add_custom_target(
+ ${target_name} COMMAND ${CMAKE_COMMAND} -DCOMPONENT=${component} -P
+ ${PROJECT_BINARY_DIR}/cmake_install.cmake)
+endfunction()