From 57d2c1c0526c04307bbb09aadf502a6a36d6abd3 Mon Sep 17 00:00:00 2001 From: Mauro Sardara Date: Fri, 18 Oct 2019 18:56:42 +0200 Subject: [HICN-340] Install hicn-light service file. Change-Id: I102d16327d74f0c69e88003045de6450aae32923 Signed-off-by: Mauro Sardara --- cmake/Modules/ServiceScript.cmake | 42 +++++++++++++++++++++++++++++++++++++++ hicn-light/CMakeLists.txt | 9 ++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 cmake/Modules/ServiceScript.cmake diff --git a/cmake/Modules/ServiceScript.cmake b/cmake/Modules/ServiceScript.cmake new file mode 100644 index 000000000..110aa816b --- /dev/null +++ b/cmake/Modules/ServiceScript.cmake @@ -0,0 +1,42 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +######################################## +# +# Find the LongBow libraries and includes +# This module sets: +# SYSTEMD_FOUND: True if Systemd was found +# SYSTEMD_SERVICES_INSTALL_DIR: The Systemd install directory + +set(SYSTEMD_SERVICE_FOLDER "/lib/systemd/system") + +macro(install_service_script script) +cmake_parse_arguments(ARG + "" + "COMPONENT" + "" + ${ARGN} +) + + # Install service file only if + # 1) We are on a linux system + # 2) The installation prefix is /usr + + if (NOT ARG_COMPONENT) + set(ARG_COMPONENT hicn) + endif() + + if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") + install (FILES ${script} DESTINATION ${SYSTEMD_SERVICE_FOLDER} COMPONENT ${ARG_COMPONENT}) + endif() +endmacro(install_service_script) \ No newline at end of file diff --git a/hicn-light/CMakeLists.txt b/hicn-light/CMakeLists.txt index 829c1d1f3..a632380fc 100644 --- a/hicn-light/CMakeLists.txt +++ b/hicn-light/CMakeLists.txt @@ -71,7 +71,7 @@ else() endif () endif() -include( Packaging ) +include(Packaging) find_package(Threads REQUIRED) @@ -107,3 +107,10 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") endif() add_subdirectory(src/hicn) + +# Install service file in linux systems +include(ServiceScript) +install_service_script( + ${CMAKE_CURRENT_SOURCE_DIR}/config/hicn-light.service + COMPONENT ${HICN_LIGHT} +) \ No newline at end of file -- cgit 1.2.3-korg