mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +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
|
string(REGEX REPLACE "[_a-zA-Z-]" "" CPACK_PACKAGE_VERSION_PATCH
|
||||||
${CPACK_PACKAGE_VERSION_PATCH})
|
${CPACK_PACKAGE_VERSION_PATCH})
|
||||||
endif ()
|
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)
|
endmacro(SetPackageVersion)
|
||||||
|
|
||||||
# Sets the list of desired package types to be created by the make
|
# 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
|
# CPACK_SOURCE_GENERATOR is set by this macro
|
||||||
macro(SetPackageGenerators)
|
macro(SetPackageGenerators)
|
||||||
set(CPACK_SOURCE_GENERATOR TGZ)
|
set(CPACK_SOURCE_GENERATOR TGZ)
|
||||||
set(CPACK_GENERATOR TGZ)
|
#set(CPACK_GENERATOR TGZ)
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
list(APPEND CPACK_GENERATOR PackageMaker)
|
list(APPEND CPACK_GENERATOR PackageMaker)
|
||||||
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
@ -109,30 +122,17 @@ macro(SetPackageMetadata)
|
||||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/COPYING
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/COPYING
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt
|
${CMAKE_CURRENT_BINARY_DIR}/COPYING.txt
|
||||||
COPYONLY)
|
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_PACKAGE_DESCRIPTION_FILE ${CMAKE_CURRENT_BINARY_DIR}/README.txt)
|
||||||
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_BINARY_DIR}/COPYING.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_README ${CMAKE_CURRENT_BINARY_DIR}/README.txt)
|
||||||
set(CPACK_RESOURCE_FILE_WELCOME ${CMAKE_CURRENT_BINARY_DIR}/README.txt)
|
set(CPACK_RESOURCE_FILE_WELCOME
|
||||||
endmacro(SetPackageMetadata)
|
${CMAKE_CURRENT_BINARY_DIR}/MAC_PACKAGE_INTRO.txt)
|
||||||
|
|
||||||
# Determines the right install location/prefix for binary packages
|
set(CPACK_RPM_PACKAGE_LICENSE "BSD")
|
||||||
macro(SetPackageInstallLocation)
|
endmacro(SetPackageMetadata)
|
||||||
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)
|
|
||||||
|
|
||||||
# Main macro to configure all the packaging options
|
# Main macro to configure all the packaging options
|
||||||
macro(ConfigurePackaging _version)
|
macro(ConfigurePackaging _version)
|
||||||
|
@ -140,7 +140,9 @@ macro(ConfigurePackaging _version)
|
||||||
SetPackageGenerators()
|
SetPackageGenerators()
|
||||||
SetPackageFileName(${_version})
|
SetPackageFileName(${_version})
|
||||||
SetPackageMetadata()
|
SetPackageMetadata()
|
||||||
SetPackageInstallLocation()
|
|
||||||
|
set(CPACK_SET_DESTDIR true)
|
||||||
|
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
||||||
|
|
||||||
# add default files/directories to ignore for source package
|
# add default files/directories to ignore for source package
|
||||||
# user may specify others via configure script
|
# 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
|
--with-perftools=PATH path to Google Perftools install root
|
||||||
|
|
||||||
Packaging Options (for developers):
|
Packaging Options (for developers):
|
||||||
|
--enable-package toggles special build logic for binary packaging
|
||||||
--ignore-dirs=PATHS paths to ignore when creating source package
|
--ignore-dirs=PATHS paths to ignore when creating source package
|
||||||
(semicolon delimited and quoted when multiple)
|
(semicolon delimited and quoted when multiple)
|
||||||
--pkg-name-prefix=NAME use the given name as the package prefix instead
|
--pkg-name-prefix=NAME use the given name as the package prefix instead
|
||||||
|
@ -164,6 +165,9 @@ while [ $# -ne 0 ]; do
|
||||||
--with-perftools=*)
|
--with-perftools=*)
|
||||||
append_cache_entry GooglePerftools_ROOT_DIR PATH $optarg
|
append_cache_entry GooglePerftools_ROOT_DIR PATH $optarg
|
||||||
;;
|
;;
|
||||||
|
--enable-package)
|
||||||
|
append_cache_entry PACKAGING_MODE BOOL true
|
||||||
|
;;
|
||||||
--ignore-dirs=*)
|
--ignore-dirs=*)
|
||||||
append_cache_entry CPACK_SOURCE_IGNORE_FILES STRING $optarg
|
append_cache_entry CPACK_SOURCE_IGNORE_FILES STRING $optarg
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue