mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Changes for CPack binary packaging
This commit is contained in:
parent
5d1f1e9edb
commit
7936782057
3 changed files with 47 additions and 21 deletions
|
@ -36,6 +36,19 @@ macro(SetPackageVersion _version)
|
|||
string(REGEX REPLACE "[_a-zA-Z-]" "" CPACK_PACKAGE_VERSION_PATCH
|
||||
${CPACK_PACKAGE_VERSION_PATCH})
|
||||
endif ()
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
# RPM version accepts letters, but not dashes.
|
||||
string(REGEX REPLACE "[-]" "" CPACK_PACKAGE_VERSION_MAJOR
|
||||
${CPACK_PACKAGE_VERSION_MAJOR})
|
||||
string(REGEX REPLACE "[-]" "" CPACK_PACKAGE_VERSION_MINOR
|
||||
${CPACK_PACKAGE_VERSION_MINOR})
|
||||
string(REGEX REPLACE "[-]" "" CPACK_PACKAGE_VERSION_PATCH
|
||||
${CPACK_PACKAGE_VERSION_PATCH})
|
||||
endif ()
|
||||
|
||||
# Minimum supported OS X version
|
||||
set(CPACK_OSX_PACKAGE_VERSION 10.5)
|
||||
endmacro(SetPackageVersion)
|
||||
|
||||
# Sets the list of desired package types to be created by the make
|
||||
|
@ -53,7 +66,7 @@ endmacro(SetPackageVersion)
|
|||
# CPACK_SOURCE_GENERATOR is set by this macro
|
||||
macro(SetPackageGenerators)
|
||||
set(CPACK_SOURCE_GENERATOR TGZ)
|
||||
set(CPACK_GENERATOR TGZ)
|
||||
#set(CPACK_GENERATOR TGZ)
|
||||
if (APPLE)
|
||||
list(APPEND CPACK_GENERATOR PackageMaker)
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
|
@ -109,30 +122,17 @@ macro(SetPackageMetadata)
|
|||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/COPYING
|
||||
${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt
|
||||
COPYONLY)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/MAC_PACKAGE_INTRO
|
||||
${CMAKE_CURRENT_BINARY_DIR}/MAC_PACKAGE_INTRO.txt)
|
||||
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_CURRENT_BINARY_DIR}/README.txt)
|
||||
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt)
|
||||
set(CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_BINARY_DIR}/README.txt)
|
||||
set(CPACK_RESOURCE_FILE_WELCOME ${CMAKE_CURRENT_BINARY_DIR}/README.txt)
|
||||
endmacro(SetPackageMetadata)
|
||||
set(CPACK_RESOURCE_FILE_WELCOME
|
||||
${CMAKE_CURRENT_BINARY_DIR}/MAC_PACKAGE_INTRO.txt)
|
||||
|
||||
# Determines the right install location/prefix for binary packages
|
||||
macro(SetPackageInstallLocation)
|
||||
if (APPLE)
|
||||
# /usr prefix is hardcoded for PackageMaker generator, but that
|
||||
# directory may not be ideal for OS X (it's tricky to remove
|
||||
# packages installed there). So instead we rely on CMAKE_INSTALL_PREFIX
|
||||
# and set the following variable to workaround the hardcoded /usr prefix
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "/")
|
||||
set(CPACK_PACKAGE_DEFAULT_LOCATION ${CMAKE_INSTALL_PREFIX})
|
||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
# A prefix of /usr would follow Filesystem Hierarchy Standard.
|
||||
# For RPM packaging by CPack, /usr should be a default, but
|
||||
# CMAKE_INSTALL_PREFIX also needs to be set to /usr so that
|
||||
# the default BROPATH is set right at build time
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "BSD")
|
||||
endif ()
|
||||
endmacro(SetPackageInstallLocation)
|
||||
set(CPACK_RPM_PACKAGE_LICENSE "BSD")
|
||||
endmacro(SetPackageMetadata)
|
||||
|
||||
# Main macro to configure all the packaging options
|
||||
macro(ConfigurePackaging _version)
|
||||
|
@ -140,7 +140,9 @@ macro(ConfigurePackaging _version)
|
|||
SetPackageGenerators()
|
||||
SetPackageFileName(${_version})
|
||||
SetPackageMetadata()
|
||||
SetPackageInstallLocation()
|
||||
|
||||
set(CPACK_SET_DESTDIR true)
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
# add default files/directories to ignore for source package
|
||||
# user may specify others via configure script
|
||||
|
|
20
cmake/MAC_PACKAGE_INTRO
Normal file
20
cmake/MAC_PACKAGE_INTRO
Normal file
|
@ -0,0 +1,20 @@
|
|||
This package will install @CMAKE_PROJECT_NAME@ into the following location:
|
||||
|
||||
@CMAKE_INSTALL_PREFIX@
|
||||
|
||||
You may choose to update your PATH environment variable:
|
||||
|
||||
# For Bash
|
||||
export PATH=@CMAKE_INSTALL_PREFIX@/bin:$PATH
|
||||
|
||||
# For CSH
|
||||
setenv PATH @CMAKE_INSTALL_PREFIX@/bin:$PATH
|
||||
|
||||
If you have more than one volume, please choose the install
|
||||
destination as the one that contains the root filesystem.
|
||||
|
||||
If you have an existing broccoli.conf file that is modified or
|
||||
otherwise different from the version included in the package, it
|
||||
will be overwritten and a backup of the existing file placed in:
|
||||
|
||||
@CMAKE_INSTALL_PREFIX@/etc/broccoli.conf.<nextAvailableNumber>
|
4
configure
vendored
4
configure
vendored
|
@ -45,6 +45,7 @@ Usage: $0 [OPTION]... [VAR=VALUE]...
|
|||
--with-perftools=PATH path to Google Perftools install root
|
||||
|
||||
Packaging Options (for developers):
|
||||
--enable-package toggles special build logic for binary packaging
|
||||
--ignore-dirs=PATHS paths to ignore when creating source package
|
||||
(semicolon delimited and quoted when multiple)
|
||||
--pkg-name-prefix=NAME use the given name as the package prefix instead
|
||||
|
@ -164,6 +165,9 @@ while [ $# -ne 0 ]; do
|
|||
--with-perftools=*)
|
||||
append_cache_entry GooglePerftools_ROOT_DIR PATH $optarg
|
||||
;;
|
||||
--enable-package)
|
||||
append_cache_entry PACKAGING_MODE BOOL true
|
||||
;;
|
||||
--ignore-dirs=*)
|
||||
append_cache_entry CPACK_SOURCE_IGNORE_FILES STRING $optarg
|
||||
;;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue