[avv] Detect commands version
authorMyhailo Danylenko <isbear@ukrpost.net>
Thu, 13 Nov 2014 18:56:44 +0200
changeset 37 ed1b8250a170
parent 36 57b2c4f84169
child 38 f195352808fb
[avv] Detect commands version
CMakeLists.txt
cmd.avv.in
cmd.c
config.h.in
--- a/CMakeLists.txt	Thu Nov 13 02:32:29 2014 +0200
+++ b/CMakeLists.txt	Thu Nov 13 18:56:44 2014 +0200
@@ -28,6 +28,11 @@
 find_package(PkgConfig REQUIRED) 
 pkg_check_modules(GLIB REQUIRED glib-2.0) 
 pkg_check_modules(MCABBER REQUIRED mcabber)
+include(CheckSymbolExists)
+set(CMAKE_REQUIRED_INCLUDES ${MCABBER_INCLUDE_DIRS})
+set(CMAKE_REQUIRED_LIBRARIES ${MCABBER_LIBRARIES})
+set(CMAKE_REQUIRED_FLAGS ${MCABBER_LDFLAGS} ${MCABBER_CFLAGS})
+check_symbol_exists(MCABBER_API_HAVE_CMD_ID mcabber/api.h HAVE_MCABBER_CMD_ID)
 link_directories(${GLIB_LIBRARY_DIRS}
 				 ${MCABBER_LIBRARY_DIRS})
 
@@ -64,6 +69,12 @@
 set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so")
 include(CPack)
 
+## AVV build-time dependent requirements
+if(HAVE_MCABBER_CMD_ID)
+	set(AVV_COMMANDS_VERSION "commands:5 | commands:4 | commands:3")
+else()
+	set(AVV_COMMANDS_VERSION "commands:2 | commands:1")
+endif()
 configure_file(cmd.avv.in cmd.avv)
 
 ## Installation
--- a/cmd.avv.in	Thu Nov 13 02:32:29 2014 +0200
+++ b/cmd.avv.in	Thu Nov 13 18:56:44 2014 +0200
@@ -3,7 +3,7 @@
 Method:      glib
 Version:     ${PROJECT_VERSION}
 Description: ${CPACK_PACKAGE_DESCRIPTION_SUMMARY}
-Requires:    ( commands:5 | commands:4 | commands:3 ) +
+Requires:    ( ${AVV_COMMANDS_VERSION} ) +
              ( hooks:7 | hooks:6 | hooks:5 | hooks:4 | hooks:3 | hooks:2 | hooks:1 ) +
 	     logprint:3 +
 	     ( roster:7 | roster:6 | roster:5 | roster:4 | roster:3 | roster:2 | roster:1 ) +
--- a/cmd.c	Thu Nov 13 02:32:29 2014 +0200
+++ b/cmd.c	Thu Nov 13 18:56:44 2014 +0200
@@ -65,7 +65,7 @@
 	GIOChannel *channel;
 } cmd_cb_t;
 
-#ifdef MCABBER_API_HAVE_CMD_ID
+#ifdef HAVE_MCABBER_CMD_ID
 static gpointer mcmd_cmid = NULL;
 #endif
 
@@ -327,7 +327,7 @@
 
 void mcmd_init (void)
 {
-#ifndef MCABBER_API_HAVE_CMD_ID
+#ifndef HAVE_MCABBER_CMD_ID
 	cmd_add ("cmd", "", 0, 0, do_cmd, NULL);
 #else
 	mcmd_cmid = cmd_add ("cmd", "", 0, 0, do_cmd, NULL);
@@ -338,7 +338,7 @@
 {
 	GSList *sel;
 
-#ifndef MCABBER_API_HAVE_CMD_ID
+#ifndef HAVE_MCABBER_CMD_ID
 	cmd_del ("cmd");
 #else
 	if (mcmd_cmid)
--- a/config.h.in	Thu Nov 13 02:32:29 2014 +0200
+++ b/config.h.in	Thu Nov 13 18:56:44 2014 +0200
@@ -4,6 +4,8 @@
 
 #define PROJECT_VERSION ( "${PROJECT_VERSION}" )
 
+#cmakedefine HAVE_MCABBER_CMD_ID @HAVE_MCABBER_CMD_ID@
+
 #define OPT_CMD_HEADER          "${OPT_CMD_HEADER}"
 #define OPT_CMD_HEADER_INLINE   "${OPT_CMD_HEADER_INLINE}"
 #define OPT_CMD_REDIRECT_STDERR "${OPT_CMD_REDIRECT_STDERR}"