-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathturbo_cpack_config.cmake
95 lines (86 loc) · 4.39 KB
/
turbo_cpack_config.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#
# Copyright 2023-2024 The EA Authors.
#
# 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
#
# https://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.
#
set(CARBIN_PACKAGING_INSTALL_PREFIX "/opt/EA/inf")
set(CARBIN_PACKAGE_VENDOR "${PROJECT_NAME}")
set(CARBIN_PACKAGE_NAME "${PROJECT_NAME}")
set(CARBIN_PACKAGE_VERSION "${PROJECT_VERSION}")
set(CARBIN_PACKAGE_DESCRIPTION
"kumo-ann is the ann search component of EA projects."
)
configure_file(${PROJECT_SOURCE_DIR}/cmake/deb/postinst.in ${PROJECT_SOURCE_DIR}/cmake/deb/postinst @ONLY)
configure_file(${PROJECT_SOURCE_DIR}/cmake/rpm/postinst.in ${PROJECT_SOURCE_DIR}/cmake/rpm/postinst @ONLY)
set(CARBIN_PACKAGE_MAINTAINER "Jeff.li")
set(CARBIN_PACKAGE_CONTACT "[email protected]")
set(CARBIN_PACKAGE_HOMEPAGE_URL "https://github.com/gottingen/kumo-ann")
set(CARBIN_PACKAGE_SYSTEM_NAME "unknown")
if(${LC_CARBIN_PRETTY_NAME} MATCHES "ubuntu")
set(CARBIN_PACKAGE_SYSTEM_NAME "ubuntu-${CARBIN_DISTRO_VERSION_ID}")
set(CPACK_GENERATOR "STGZ;DEB")
elseif(${LC_CARBIN_PRETTY_NAME} MATCHES "centos")
set(CARBIN_PACKAGE_SYSTEM_NAME "centos-${CARBIN_DISTRO_VERSION_ID}")
set(CPACK_GENERATOR "STGZ;RPM")
elseif(${LC_CARBIN_PRETTY_NAME} MATCHES "darwin")
set(CARBIN_PACKAGE_SYSTEM_NAME "darwin-${CARBIN_DISTRO_VERSION_ID}")
endif()
if (${CARBIN_PACKAGE_SYSTEM_NAME} MATCHES "unknown")
set(CARBIN_PACKAGE_SYSTEM_NAME "linux") # default to linux if not set
endif ()
if (${CARBIN_PACKAGE_SYSTEM_NAME} MATCHES "unknown")
set(CARBIN_PACKAGE_SYSTEM_NAME "linux") # default to linux if not set
endif ()
set (TAR_FILE_NAME "${CARBIN_PACKAGE_NAME}-${CARBIN_PACKAGE_VERSION}-${CARBIN_PACKAGE_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}")
if (DEFINED CUDA_VERSION)
set (TAR_FILE_NAME "${TAR_FILE_NAME}-cu${CUDA_VERSION}")
elseif (DEFINED CUDAToolkit_VERSION)
set (TAR_FILE_NAME "${TAR_FILE_NAME}-cu${CUDAToolkit_VERSION}")
endif ()
set(CARBIN_PACKAGE_FILE_NAME "${TAR_FILE_NAME}")
set(CARBIN_PACKAGE_DIRECTORY package)
carbin_print("on platform: ${LC_CARBIN_PRETTY_NAME}")
carbin_print("package format: ${CPACK_GENERATOR}")
carbin_print("package file name: ${CARBIN_PACKAGE_FILE_NAME}")
#################################################################################
# system configuration
#################################################################################
set(CPACK_PACKAGING_INSTALL_PREFIX ${CARBIN_PACKAGING_INSTALL_PREFIX})
set(CPACK_PACKAGE_VENDOR "${CARBIN_PACKAGE_VENDOR}")
set(CPACK_PACKAGE_NAME "${CARBIN_PACKAGE_NAME}")
set(CPACK_PACKAGE_VERSION "${CARBIN_PACKAGE_VERSION}")
set(CPACK_PACKAGE_DESCRIPTION
"${CARBIN_PACKAGE_DESCRIPTION}"
)
set(CPACK_PACKAGE_MAINTAINER "${CARBIN_PACKAGE_MAINTAINER}")
set(CPACK_PACKAGE_CONTACT "${CARBIN_PACKAGE_CONTACT}")
set(CPACK_PACKAGE_HOMEPAGE_URL "${CARBIN_PACKAGE_HOMEPAGE_URL}")
set(CPACK_PACKAGE_FILE_NAME "${CARBIN_PACKAGE_FILE_NAME}")
set(CPACK_PACKAGE_DIRECTORY ${CARBIN_PACKAGE_DIRECTORY})
if (${LC_CARBIN_PRETTY_NAME} MATCHES "ubuntu")
set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS
"/usr/local/cuda-${CPACK_CUDA_VERSION_MAJOR}.${CPACK_CUDA_VERSION_MINOR}/${CMAKE_INSTALL_LIBDIR}/stubs")
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/deb/preinst;${CMAKE_CURRENT_SOURCE_DIR}/cmake/deb/prerm;${CMAKE_CURRENT_SOURCE_DIR}/cmake/deb/postrm;${CMAKE_CURRENT_SOURCE_DIR}/cmake/deb/postinst")
elseif (${LC_CARBIN_PRETTY_NAME} MATCHES "darwin")
MESSAGE(STATUS "Apple dist: macos build dmg package")
elseif (${LC_CARBIN_PRETTY_NAME} MATCHES "centos")
set(CPACK_RPM_PACKAGE_DEBUG 1)
set(CPACK_RPM_RUNTIME_DEBUGINFO_PACKAGE ON)
set(CPACK_RPM_PACKAGE_RELOCATABLE ON)
SET(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/rpm/preinst")
SET(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/rpm/postinst")
SET(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/rpm/prerm")
SET(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${PROJECT_SOURCE_DIR}/cmake/rpm/postrm")
endif ()
include(CPack)