Misc: #49: Add CPack configuration

Add CPackConfig.cmake for generating binary packages (.tar.bz2, .deb,
.rpm) automatically. Pretty ugly, but mostly working.
CPackSourceConfig.cmake isn't ready yet.
This commit is contained in:
Richard Grenville 2012-10-02 21:56:12 +08:00
parent f95093358e
commit ff50322b27
2 changed files with 49 additions and 7 deletions

16
.gitignore vendored
View File

@ -1,6 +1,5 @@
# Build files
.deps .deps
Makefile
Makefile.in
aclocal.m4 aclocal.m4
autom4te.cache autom4te.cache
config.h config.h
@ -14,14 +13,17 @@ missing
stamp-h1 stamp-h1
compton compton
*.o *.o
*~ _CPack_Packages
core build
compton-*.deb
compton-*.rpm
compton-*.tar.bz2
# Vim files # Vim files
.*.sw[a-z] .*.sw[a-z]
*~
# oprofile files # Misc files
core
oprofile_data oprofile_data
# clang files
compton.plist compton.plist

40
CPackConfig.cmake Normal file
View File

@ -0,0 +1,40 @@
# == Environment ==
if (NOT CPACK_SYSTEM_NAME)
set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_PROCESSOR}")
if (CPACK_SYSTEM_NAME STREQUAL "x86_64")
set(CPACK_SYSTEM_NAME "amd64")
endif ()
endif ()
# == Basic information ==
set(CPACK_PACKAGE_NAME "compton")
set(CPACK_PACKAGE_VENDOR "chjj")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "0")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_PACKAGE_DESCRIPTION "A lightweight X compositing window manager, fork of xcompmgr-dana.")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A lightweight X compositing window manager")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_SYSTEM_NAME}")
set(CPACK_PACKAGE_CONTACT "nobody <devnull@example.com>")
set(CPACK_INSTALL_COMMANDS "env PREFIX=build make install")
# == Package config ==
set(CPACK_INSTALLED_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/build" "usr")
set(CPACK_GENERATOR "TBZ2" "DEB" "RPM")
set(CPACK_RESOURCE_FILE_LICENSE "LICENSE")
set(CPACK_RESOURCE_FILE_README "README.md")
set(CPACK_STRIP_FILES 1)
# == DEB package config ==
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CPACK_SYSTEM_NAME}")
set(CPACK_DEBIAN_PACKAGE_SECTION "x11")
# The dependencies are unreliable, just an example here
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libx11-6, libxext6, libxcomposite1, libxrender1, libxdamage1, libxfixes3, libpcre3, libconfig8")
# == RPM package config ==
# The dependencies are unreliable, just an example here
set(CPACK_RPM_PACKAGE_REQUIRES "libx11, libxext, libxcomposite, libxrender, libxdamage, libxfixes, libpcre, libconfig")
# == Source package config ==
set(CPACK_SOURCE_GENERATOR "TBZ2 DEB RPM")