CMakeLists.txt
changeset 78 1253cacc0f21
parent 73 b3ebfb8eb798
child 79 05328c643696
--- a/CMakeLists.txt	Sun Jul 26 15:15:20 2009 +0300
+++ b/CMakeLists.txt	Thu Jul 30 14:33:22 2009 +0300
@@ -20,6 +20,7 @@
 
 ## User options
 option(DEBUG "Enable debugging output" ON)
+option(LLM_CONNECTION_ENABLE "Enable exposing of mcabber loudmouth connection to lua" ON)
 option(LLM_LOG_HANDLER "Enable registration of log messages handler for lua-loudmouth library's messages" ON)
 set(MCABBER_INCLUDE_DIR "/home/isbear/src/mcabber/hglm/mcabber/src" CACHE FILEPATH "Path to mcabber headers")
 set(ML_SOURCE_PRIORITY G_PRIORITY_HIGH_IDLE CACHE STRING "Glib event source priority for timeout and bgread")
@@ -30,9 +31,8 @@
 get_target_property(mcabber-lua_SOURCES mcabber-lua SOURCES)
 
 ## Packaging information
-set(CPACK_PACKAGE_VERSION_MAJOR 0)
-set(CPACK_PACKAGE_VERSION_MINOR 0)
-set(CPACK_PACKAGE_VERSION_PATCH 0)
+set(CPACK_PACKAGE_NAME mcabber-lua)
+set(CPACK_PACKAGE_VERSION "0.0.0")
 set(CPACK_PACKAGE_VENDOR "IsBear")
 set(CPACK_PACKAGE_CONTACT "Myhailo Danylenko <isbear@ukrpost.net>")
 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Mcabber lua module")
@@ -40,11 +40,20 @@
 set(CPACK_RESOURCE_FILE_LICENSE ${mcabber-lua_SOURCE_DIR}/COPYING)
 set(CPACK_RESOURCE_FILE_README ${mcabber-lua_SOURCE_DIR}/README)
 set(CPACK_RESOURCE_FILE_WELCOME ${mcabber-lua_SOURCE_DIR}/README)
+set(CPACK_SOURCE_GENERATOR TBZ2)
+set(CPACK_GENERATOR DEB CACHE STRING "Binary package generator, eg DEB, RPM, TGZ, NSIS...")
+# XXX
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, liblua5.1-0, libglib2.0-0")
+set(CPACK_DEBIAN_PACKAGE_RECOMMENDS "mcabber-lm | mcabber")
+set(CPACK_DEBIAN_PACKAGE_SUGGESTS "liblua5.1-posix1, liblua5.1-base64-0, liblua5.1-sha1-0")
 set(CPACK_DEBIAN_PACKAGE_SECTION libs)
-set(CPACK_SOURCE_GENERATOR TBZ2)
-set(CPACK_GENERATOR DEB)
-# 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)
@@ -55,7 +64,9 @@
 pkg_check_modules(GLIB REQUIRED glib-2.0)
 pkg_check_modules(GMODULE REQUIRED gmodule-2.0)
 # XXX: we need only headers
-pkg_check_modules(LM REQUIRED loudmouth-1.0)
+if(LLM_CONNECTION_ENABLE)
+	pkg_check_modules(LM REQUIRED loudmouth-1.0)
+endif()
 find_package(Perl)
 
 ## Set up compiler