892ef71fb5eb88c2199d239fc8e532a9ef5e5158
[vpp.git] / src / pkg / CMakeLists.txt
1 # Copyright (c) 2019 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 if(CMAKE_CROSSCOMPILING)
15   return()
16 endif()
17
18 get_cmake_property(VPP_COMPONENTS COMPONENTS)
19 string(REPLACE ";" " " VPP_COMPONENTS "${VPP_COMPONENTS}")
20
21 execute_process(
22   COMMAND date -R
23   OUTPUT_VARIABLE TIMESTAMP
24   OUTPUT_STRIP_TRAILING_WHITESPACE
25 )
26
27 # parse /etc/os-release
28 file(READ "/etc/os-release" os_release)
29 string(REPLACE "\n" ";" os_release ${os_release})
30 foreach(l ${os_release})
31   string(REPLACE "=" ";" l ${l})
32   list(GET l 0 _name)
33   list(GET l 1 _value)
34   string(REPLACE "\"" "" _value ${_value})
35   set(OS_${_name} ${_value})
36 endforeach()
37
38 set(VPP_DEB_BUILD_DEPENDS "python3-all, python3-setuptools")
39 set(VPP_DEB_WITH_PYTHON2 "no")
40
41 foreach(f rules changelog control)
42   configure_file(
43     ${CMAKE_CURRENT_SOURCE_DIR}/debian/${f}.in
44     ${VPP_BINARY_DIR}/debian/${f}
45     @ONLY
46   )
47 endforeach()
48
49 foreach(f copyright vpp.preinst vpp.postrm vpp.postinst vpp.service)
50   file(COPY
51     ${CMAKE_CURRENT_SOURCE_DIR}/debian/${f}
52     DESTINATION ${VPP_BINARY_DIR}/debian
53   )
54 endforeach()
55
56 add_custom_target(pkg-deb
57   COMMENT "Building .deb packages..."
58   WORKING_DIRECTORY ${VPP_BINARY_DIR}
59   COMMAND "dpkg-buildpackage" "-us" "-uc" "-b"
60   USES_TERMINAL
61 )