# HG changeset patch # User Myhailo Danylenko # Date 1248953718 -10800 # Node ID 2e4650583dd72f875cd98e5003382a99f1306a63 # Parent 23393a00c2c15460bd5db12ab35776bc974fb986 Debian-compliant package names diff -r 23393a00c2c1 -r 2e4650583dd7 CMakeLists.txt --- a/CMakeLists.txt Mon Jun 01 19:57:22 2009 +0300 +++ b/CMakeLists.txt Thu Jul 30 14:35:18 2009 +0300 @@ -30,9 +30,7 @@ ## Packaging information set(CPACK_PACKAGE_NAME liblua5.1-loudmouth) -set(CPACK_PACKAGE_VERSION_MAJOR 0) -set(CPACK_PACKAGE_VERSION_MINOR 9) -set(CPACK_PACKAGE_VERSION_PATCH 0) +set(CPACK_PACKAGE_VERSION "0.9.0") set(CPACK_PACKAGE_VENDOR "IsBear") set(CPACK_PACKAGE_CONTACT "Myhailo Danylenko ") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Loudmouth XMPP client library lua interface") @@ -40,14 +38,19 @@ set(CPACK_RESOURCE_FILE_LICENSE ${lua-lm_SOURCE_DIR}/COPYING) set(CPACK_RESOURCE_FILE_README ${lua-lm_SOURCE_DIR}/README) set(CPACK_RESOURCE_FILE_WELCOME ${lua-lm_SOURCE_DIR}/README) +set(CPACK_SOURCE_GENERATOR TBZ2) +set(CPACK_GENERATOR DEB CACHE STRING "Binary package generator, eg DEB, RPM, TGZ, NSIS...") set(CPACK_DEBIAN_PACKAGE_SECTION libs) # XXX: tmp=`tempfile`; obj=${lua-lm_BINARY_DIR}/loudmouth.so; ldd $obj > $tmp; objdump -p $obj | \grep NEEDED | sed -e 's/.*NEEDED *//' | xargs -I "{}" grep -F "{}" $tmp | sed -e 's/.*=> *\(\S*\).*/\1/' | xargs dpkg -S | cut -d : -f 1 | sort -u ; \rm $tmp # TODO: versions set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libglib2.0-0, liblua5.1-0, libloudmouth1-0") -set(CPACK_SOURCE_GENERATOR TBZ2) -set(CPACK_GENERATOR DEB CACHE STRING "Binary package generator, eg DEB, RPM, TGZ, NSIS...") -# FIXME: Detect architecture. How? Though, it anyway produces nonconformant deb names... -set(CPACK_SYSTEM_NAME i386) +find_program(DPKG_EXECUTABLE dpkg) +if(DPKG_EXECUTABLE) + execute_process(COMMAND ${DPKG_EXECUTABLE} --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) +else() + set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386 CACHE STRING "Architecture of package") +endif() +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}") # XXX: Set package name directly to get rid of -Sources? set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") include(CPack)