[Package] Use cpack to build deb package
This commit is contained in:
@@ -41,7 +41,7 @@ cd ${CLIENT_REPO_ROOT}/kubernetes
|
|||||||
# Build
|
# Build
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lib ..
|
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
|
||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -28,7 +28,11 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(pkgName "kubernetes")
|
set(pkgName "kubernetes")
|
||||||
set(VERSION 0.0.1) # this default version can be overridden in PreTarget.cmake
|
|
||||||
|
# this default version can be overridden in PreTarget.cmake
|
||||||
|
set(PROJECT_VERSION_MAJOR 0)
|
||||||
|
set(PROJECT_VERSION_MINOR 0)
|
||||||
|
set(PROJECT_VERSION_PATCH 1)
|
||||||
|
|
||||||
find_package(CURL 7.58.0 REQUIRED)
|
find_package(CURL 7.58.0 REQUIRED)
|
||||||
if(CURL_FOUND)
|
if(CURL_FOUND)
|
||||||
@@ -1230,6 +1234,8 @@ set(HDRS
|
|||||||
|
|
||||||
include(PreTarget.cmake OPTIONAL)
|
include(PreTarget.cmake OPTIONAL)
|
||||||
|
|
||||||
|
set(PROJECT_VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
|
||||||
|
|
||||||
# Add library with project file with project name as library name
|
# Add library with project file with project name as library name
|
||||||
add_library(${pkgName} ${SRCS} ${HDRS})
|
add_library(${pkgName} ${SRCS} ${HDRS})
|
||||||
# Link dependent libraries
|
# Link dependent libraries
|
||||||
@@ -1246,22 +1252,22 @@ include(PostTarget.cmake OPTIONAL)
|
|||||||
|
|
||||||
# installation of libraries, headers, and config files
|
# installation of libraries, headers, and config files
|
||||||
if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in)
|
if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in)
|
||||||
install(TARGETS ${pkgName} DESTINATION ${CMAKE_INSTALL_PREFIX})
|
install(TARGETS ${pkgName} DESTINATION lib)
|
||||||
else()
|
else()
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
install(TARGETS ${pkgName} DESTINATION ${CMAKE_INSTALL_PREFIX} EXPORT ${pkgName}Targets)
|
install(TARGETS ${pkgName} DESTINATION lib EXPORT ${pkgName}Targets)
|
||||||
|
|
||||||
foreach(HDR_FILE ${HDRS})
|
foreach(HDR_FILE ${HDRS})
|
||||||
get_filename_component(HDR_DIRECTORY ${HDR_FILE} DIRECTORY)
|
get_filename_component(HDR_DIRECTORY ${HDR_FILE} DIRECTORY)
|
||||||
get_filename_component(ABSOLUTE_HDR_DIRECTORY ${HDR_DIRECTORY} ABSOLUTE)
|
get_filename_component(ABSOLUTE_HDR_DIRECTORY ${HDR_DIRECTORY} ABSOLUTE)
|
||||||
file(RELATIVE_PATH RELATIVE_HDR_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${ABSOLUTE_HDR_DIRECTORY})
|
file(RELATIVE_PATH RELATIVE_HDR_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${ABSOLUTE_HDR_DIRECTORY})
|
||||||
install(FILES ${HDR_FILE} DESTINATION include/${RELATIVE_HDR_PATH})
|
install(FILES ${HDR_FILE} DESTINATION include/${pkgName}/${RELATIVE_HDR_PATH})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
write_basic_package_version_file(
|
write_basic_package_version_file(
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}ConfigVersion.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/${pkgName}/${pkgName}ConfigVersion.cmake"
|
||||||
VERSION "${VERSION}"
|
VERSION "${PROJECT_VERSION_STRING}"
|
||||||
COMPATIBILITY AnyNewerVersion
|
COMPATIBILITY AnyNewerVersion
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1293,6 +1299,9 @@ else()
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# make installation packages
|
||||||
|
include(Packing.cmake OPTIONAL)
|
||||||
|
|
||||||
# Setting file variables to null
|
# Setting file variables to null
|
||||||
set(SRCS "")
|
set(SRCS "")
|
||||||
set(HDRS "")
|
set(HDRS "")
|
||||||
|
|||||||
22
kubernetes/Packing.cmake
Normal file
22
kubernetes/Packing.cmake
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
set(CPACK_PACKAGE_NAME lib${pkgName})
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_PACKAGE_DESCRIPTION_SUMMARY})
|
||||||
|
set(CPACK_PACKAGE_VENDOR ${PROJECT_PACKAGE_VENDOR})
|
||||||
|
set(CPACK_PACKAGE_CONTACT ${PROJECT_PACKAGE_CONTACT})
|
||||||
|
set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${PROJECT_PACKAGE_MAINTAINER})
|
||||||
|
|
||||||
|
set(CPACK_VERBATIM_VARIABLES YES)
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
|
||||||
|
|
||||||
|
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||||
|
|
||||||
|
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
|
||||||
|
|
||||||
|
set(CPACK_DEB_COMPONENT_INSTALL YES)
|
||||||
|
|
||||||
|
include(CPack)
|
||||||
@@ -1,4 +1,11 @@
|
|||||||
set(VERSION 0.0.1)
|
set(PROJECT_VERSION_MAJOR 0)
|
||||||
|
set(PROJECT_VERSION_MINOR 0)
|
||||||
|
set(PROJECT_VERSION_PATCH 1)
|
||||||
|
|
||||||
|
set(PROJECT_PACKAGE_DESCRIPTION_SUMMARY "The Kubernetes client library for the C programming language.")
|
||||||
|
set(PROJECT_PACKAGE_VENDOR "https://github.com/kubernetes-client")
|
||||||
|
set(PROJECT_PACKAGE_CONTACT "https://github.com/kubernetes-client/c")
|
||||||
|
set(PROJECT_PACKAGE_MAINTAINER "https://github.com/kubernetes-client/c")
|
||||||
|
|
||||||
# config.h checks
|
# config.h checks
|
||||||
include(ConfigureChecks.cmake)
|
include(ConfigureChecks.cmake)
|
||||||
@@ -33,7 +40,7 @@ list(APPEND HDRS
|
|||||||
websocket/wsclient.h
|
websocket/wsclient.h
|
||||||
websocket/kube_exec.h
|
websocket/kube_exec.h
|
||||||
include/generic.h
|
include/generic.h
|
||||||
src/utils.c)
|
include/utils.h)
|
||||||
|
|
||||||
find_package(libwebsockets CONFIG REQUIRED)
|
find_package(libwebsockets CONFIG REQUIRED)
|
||||||
find_package(yaml CONFIG REQUIRED)
|
find_package(yaml CONFIG REQUIRED)
|
||||||
Reference in New Issue
Block a user