From 053b36a9a584b5ce8baf363a63bdd494999962c7 Mon Sep 17 00:00:00 2001 From: Joris Vaillant Date: Thu, 19 Sep 2024 15:12:14 +0200 Subject: [PATCH] install-helpers: Add ADD_INSTALL_TARGET function --- install-helpers.cmake | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 install-helpers.cmake 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()