mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-03 08:46:46 +00:00
45 lines
1.3 KiB
CMake
45 lines
1.3 KiB
CMake
#[===================================================================[
|
|
Linux packaging support: 'package' target.
|
|
|
|
The packaging script (package/build_pkg.sh) installs to FHS-standard
|
|
paths (/usr/bin, /etc/xrpld, etc.) regardless of CMAKE_INSTALL_PREFIX,
|
|
so no prefix guard is needed here.
|
|
#]===================================================================]
|
|
if(NOT is_linux)
|
|
message(STATUS "Packaging not supported on non-Linux hosts")
|
|
return()
|
|
endif()
|
|
|
|
if(NOT DEFINED pkg_release)
|
|
set(pkg_release 1)
|
|
endif()
|
|
|
|
find_program(RPMBUILD_EXECUTABLE rpmbuild)
|
|
find_program(DPKG_BUILDPACKAGE_EXECUTABLE dpkg-buildpackage)
|
|
|
|
if(NOT (RPMBUILD_EXECUTABLE OR DPKG_BUILDPACKAGE_EXECUTABLE))
|
|
message(
|
|
STATUS
|
|
"Neither rpmbuild nor dpkg-buildpackage found; 'package' target not available"
|
|
)
|
|
return()
|
|
endif()
|
|
|
|
set(package_env
|
|
SRC_DIR=${CMAKE_SOURCE_DIR}
|
|
BUILD_DIR=${CMAKE_BINARY_DIR}
|
|
PKG_VERSION=${xrpld_version}
|
|
PKG_RELEASE=${pkg_release}
|
|
)
|
|
|
|
add_custom_target(
|
|
package
|
|
COMMAND
|
|
${CMAKE_COMMAND} -E env ${package_env}
|
|
${CMAKE_SOURCE_DIR}/package/build_pkg.sh
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
|
DEPENDS xrpld
|
|
COMMENT "Building Linux package (deb/rpm inferred from host tooling)"
|
|
VERBATIM
|
|
)
|