add-cmake
author Myhailo Danylenko <isbear@ukrpost.net>
Tue, 01 May 2012 02:09:34 +0300
changeset 26 65d81aec6691
parent 24 7bb7fb2c1822
child 29 335662766a88
permissions -rw-r--r--
Resync to mainstream, drop extend-caps
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     1
# HG changeset patch
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
     2
# Parent 56b136a36dbc14a9c173f78350b00a73734b20cb
22
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     3
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
     4
diff -r 56b136a36dbc mcabber/CMakeLists.txt
22
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
     6
+++ b/mcabber/CMakeLists.txt	Mon Apr 30 23:39:07 2012 +0300
22
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     7
@@ -0,0 +1,196 @@
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     8
+## Copyright 2010 Myhailo Danylenko
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
     9
+# This file is part of mcabber.
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    10
+#
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    11
+# mcabber is free software: you can redistribute it and/or modify
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    12
+# it under the terms of the GNU General Public License as published by
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    13
+# the Free Software Foundation, either version 2 of the License, or
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    14
+# (at your option) any later version.
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    15
+#
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    16
+# This program is distributed in the hope that it will be useful,
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    17
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    18
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    19
+# GNU General Public License for more details.
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    20
+#
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    21
+# You should have received a copy of the GNU General Public License
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    22
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    23
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    24
+cmake_minimum_required(VERSION 2.6)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    25
+project(mcabber C)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    26
+set(PROJECT_VERSION "0.10.2-dev")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    27
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    28
+## User settable options
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    29
+option(DEBUG "Enable debugging output" OFF)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    30
+option(USE_SIGWINCH "Compile with SIGWINCH handler" OFF)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    31
+option(XEP0022 "Enable obsolete Message Events (XEP-0022)" OFF)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    32
+option(ENABLE_MODULES "Enable dynamic module loading" ON)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    33
+option(WANT_LIBIDN "Compile with libidn support" ON)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    34
+option(WANT_GPGME "Compile with PGP support (libgpgme required)" ON)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    35
+option(WANT_OTR "Compile with OTR support" OFF)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    36
+option(WANT_ENCHANT "Use enchant for spell-checking" OFF)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    37
+option(WANT_ASPELL "Use aspell for spell-checking" OFF)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    38
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    39
+set(MCABBER_BRANCH "experimental")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    40
+set(MCABBER_VERSION ${PROJECT_VERSION})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    41
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    42
+## Check for build dependencies
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    43
+find_package(PkgConfig REQUIRED)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    44
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    45
+## Glib
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    46
+pkg_check_modules(GLIB REQUIRED glib-2.0>=2.14.0)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    47
+if (ENABLE_MODULES)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    48
+	pkg_check_modules(GMODULE REQUIRED gmodule-2.0)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    49
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    50
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    51
+## Loudmouth
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    52
+pkg_check_modules(LM REQUIRED loudmouth-1.0>=1.4.2)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    53
+include(CheckSymbolExists)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    54
+set(CMAKE_REQUIRED_INCLUDES ${LM_INCLUDE_DIRS})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    55
+set(CMAKE_REQUIRED_LIBRARIES ${LM_LIBRARIES})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    56
+set(CMAKE_REQUIRESD_FLAGS ${LM_LDFLAGS} ${LM_CFLAGS})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    57
+check_symbol_exists(lm_connection_unregister_reply_handler loudmouth/loudmouth.h HAVE_LM_CONNECTION_UNREGISTER_REPLY_HANDLER)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    58
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    59
+## Libidn
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    60
+if(WANT_LIBIDN)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    61
+	pkg_check_modules(LIBIDN libidn)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    62
+	if(LIBIDN_FOUND)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    63
+		set(HAVE_LIBIDN TRUE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    64
+	endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    65
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    66
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    67
+## Ncursesw / Ncurses / Curses
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    68
+pkg_check_modules(NCURSESW ncursesw)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    69
+if(NCURSESW_FOUND)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    70
+	pkg_check_modules(PANELW REQUIRED panelw)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    71
+	set(HAVE_UNICODE TRUE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    72
+else()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    73
+	pkg_check_modules(NCURSES ncurses)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    74
+	if(NCURSES_FOUND)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    75
+		pkg_check_modules(PANEL REQUIRED panel)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    76
+		set(HAVE_UNICODE FALSE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    77
+	else()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    78
+		find_package(Curses)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    79
+		# FIXME
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    80
+	endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    81
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    82
+# we do not use curses, and we check for waddnwstr in both libs to determine HAVE_UNICODE
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    83
+# check for ESCDELAY by just linking HAVE_ESCDELAY
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    84
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    85
+if(WANT_GPGME)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    86
+#  provides own gpgme-config O_o
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    87
+	set(HAVE_GPGME TRUE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    88
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    89
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    90
+if(WANT_OTR)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    91
+#  gcrypt provides own libgcrypt-config O_o
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    92
+#  libotr have nothing :(
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    93
+	set(OTR TRUE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    94
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    95
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    96
+if(WANT_ENCHANT)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    97
+	pkg_check_modules(ENCHANT enchant)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    98
+	if(ENCHANT_FOUND)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
    99
+		set(WITH_ENCHANT TRUE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   100
+	endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   101
+elseif(WANT_ASPELL)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   102
+	find_package(ASPELL)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   103
+	if(ASPELL_FOUND)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   104
+		set(WITH_ASPELL TRUE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   105
+	endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   106
+# aspell_{include_dir,libraries,definitions}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   107
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   108
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   109
+#include(CheckIncludeFile)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   110
+#set(CMAKE_REQUIRED_INCLUDES ${MCABBER_INCLUDE_DIRS})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   111
+#check_include_file(mcabber/disco.h HAVE_MCABBER_DISCO_H)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   112
+#	message(SEND_ERROR "Disco module headers not found")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   113
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   114
+link_directories(${GLIB_LIBRARY_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   115
+                 ${GMODULE_LIBRARY_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   116
+                 ${LM_LIBRARY_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   117
+				 ${LIBIDN_LIBRARY_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   118
+				 ${ENCHANT_LIBRARY_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   119
+				 ${NCURSESW_LIBRARY_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   120
+				 ${NCURSES_LIBRARY_DIRS})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   121
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   122
+## Define targets
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   123
+add_executable(mcabber mcabber/main.c ) # FIXME
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   124
+if(ENABLE_MODULES)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   125
+# Put these into per-project dirs?
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   126
+	add_library(beep MODULE modules/beep/beep.c)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   127
+	add_library(eventcmd MODULE modules/beep/eventcmd.c mcabber/extcmd.c)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   128
+	add_library(fifo MODULE modules/fifo/fifo_module.c mcabber/fifo.c)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   129
+	add_library(urlregex MODULE modules/urlregex/urlregex.c)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   130
+	add_library(xttitle MODULE modules/xttitle/xttitle.c)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   131
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   132
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   133
+## Compiler setup
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   134
+configure_file(config.h.in config.h)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   135
+include_directories(SYSTEM ${GLIB_INCLUDE_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   136
+                    ${GMODULE_INCLUDE_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   137
+                    ${LM_INCLUDE_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   138
+					${LIBIDN_INCLUDE_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   139
+					${ENCHANT_INCLUDE_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   140
+					${NCURSESW_INCLUDE_DIRS}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   141
+					${NCURSES_INCLUDE_DIRS})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   142
+target_link_libraries(mcabber ${LUA_LIBRARIES} ${GLIB_LIBRARIES})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   143
+target_link_libraries(mcabber ${GLIB_LIBRARIES}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   144
+                      ${GMODULE_LIBRARIES}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   145
+                      ${LM_LIBRARIES}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   146
+					  ${LIBIDN_LIBRARIES}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   147
+					  ${ENCHANT_LIBRARIES}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   148
+					  ${NCURSESW_LIBRARIES}
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   149
+					  ${NCURSES_LIBRARIES})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   150
+include_directories(${mcabber_SOURCE_DIR} ${mcabber_BINARY_DIR})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   151
+#                      PREFIX "" # for module libraries
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   152
+set_target_properties(mcabber PROPERTIES
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   153
+					  COMPILE_FLAGS "-Wall")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   154
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   155
+## Extra targets
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   156
+#	add_custom_command(OUTPUT ${mcabber_BINARY_DIR}/mcabber.html COMMAND ${mcabber_SOURCE_DIR}/docgen.pl ${mcabber_SOURCES} > ${mcabber_BINARY_DIR}/mcabber.html DEPENDS ${mcabber_SOURCE_DIR}/docgen.pl ${mcabber_SOURCES} WORKING_DIRECTORY ${mcabber_SOURCE_DIR})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   157
+#	add_custom_target(doc ALL DEPENDS ${mcabber_BINARY_DIR}/mcabber.html)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   158
+#	add_custom_target(test COMMAND env "LUA_PATH=${mcabber_SOURCE_DIR}/?.lua;${LUA_PATH}" "LUA_CPATH=${mcabber_SOURCE_DIR}/?.so;${mcabber_BINARY_DIR}/?.so;${LUA_CPATH}" lua ${mcabber_SOURCE_DIR}/test.lua DEPENDS mcabber VERBATIM)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   159
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   160
+## Packaging information
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   161
+set(CPACK_PACKAGE_NAME liblua5.1-mcabber) # XXX
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   162
+set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   163
+set(CPACK_PACKAGE_VENDOR "McKael")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   164
+set(CPACK_PACKAGE_CONTACT "Mikael BERTHE <mikael@lilotux.net>")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   165
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "small Jabber (XMPP) console client")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   166
+set(CPACK_PACKAGE_DESCRIPTION_FILE ${mcabber_SOURCE_DIR}/README)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   167
+set(CPACK_RESOURCE_FILE_LICENSE ${mcabber_SOURCE_DIR}/COPYING)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   168
+set(CPACK_RESOURCE_FILE_README ${mcabber_SOURCE_DIR}/README)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   169
+set(CPACK_RESOURCE_FILE_WELCOME ${mcabber_SOURCE_DIR}/README)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   170
+set(CPACK_SOURCE_GENERATOR TBZ2)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   171
+set(CPACK_GENERATOR DEB CACHE TEXT "Binary package generator, eg DEB, RPM, TGZ, NSIS...")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   172
+set(CPACK_DEBIAN_PACKAGE_SECTION libs)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   173
+# XXX: tmp=`tempfile`; obj=${mcabber_BINARY_DIR}/mcabber.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
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   174
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   175
+find_program(DPKG_EXECUTABLE dpkg)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   176
+if(DPKG_EXECUTABLE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   177
+	execute_process(COMMAND ${DPKG_EXECUTABLE} --print-architecture OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   178
+else()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   179
+	set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386 CACHE TEXT "Architecture of package")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   180
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   181
+set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   182
+# XXX: Set package name directly to get rid of -Sources?
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   183
+set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so")
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   184
+include(CPack)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   185
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   186
+## Set up installer
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   187
+install(TARGETS mcabber DESTINATION bin)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   188
+if(ENABLE_MODULES)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   189
+	install(FILES mcabber/*.h DESTINATION include/mcabber) # FIXME
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   190
+	install(TARGETS beep eventcmd fifo urlregex xttitle DESTINATION lib/mcabber)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   191
+	install(FILES mcabber.pc DESTINATION lib/pkgconfig) # XXX should we install it into share?
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   192
+endif()
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   193
+install(DIRECTORY doc/help/cs doc/help/de doc/help/en doc/help/fr doc/help/it doc/help/nl doc/help/pl doc/help/ru doc/help/uk DESTINATION share/mcabber/help)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   194
+install(FILES mcabberrc.example DESTINATION share/doc/${CPACK_PACKAGE_NAME}/examples)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   195
+install(FILES AUTHORS README TODO ChangeLog.api doc/HOWTO_modules.txt doc/README_PGP.txt DESTINATION share/doc/${CPACK_PACKAGE_NAME})
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   196
+install(FILES doc/mcabber.1.html doc/manpage.css DESTINATION share/doc/${CPACK_PACKAGE_NAME}/html)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   197
+# guide
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   198
+install(FILES ChangeLog DESTINATION share/doc/${CPACK_PACKAGE_NAME} RENAME changelog)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   199
+install(FILES COPYING DESTINATION share/doc/${CPACK_PACKAGE_NAME} RENAME copyright)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   200
+install(FILES doc/mcabber.1 DESTINATION share/man/man1)
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   201
+
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   202
+## The End ## vim: se ts=4 sw=4: ##
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   203
+
26
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   204
diff -r 56b136a36dbc mcabber/configure.ac
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   205
--- a/mcabber/configure.ac	Mon Apr 30 23:38:36 2012 +0300
65d81aec6691 Resync to mainstream, drop extend-caps
Myhailo Danylenko <isbear@ukrpost.net>
parents: 24
diff changeset
   206
+++ b/mcabber/configure.ac	Mon Apr 30 23:39:07 2012 +0300
22
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   207
@@ -36,9 +36,8 @@
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   208
 
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   209
 # Checks for header files.
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   210
 AC_HEADER_STDC
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   211
-AC_CHECK_HEADERS([arpa/inet.h fcntl.h locale.h netdb.h netinet/in.h stddef.h \
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   212
-                  stdlib.h string.h strings.h sys/socket.h sys/time.h \
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   213
-                  syslog.h termios.h wchar.h wctype.h localcharset.h])
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   214
+AC_CHECK_HEADERS([fcntl.h locale.h stdlib.h string.h sys/time.h \
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   215
+                  termios.h wchar.h wctype.h localcharset.h])
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   216
 AC_CHECK_HEADERS([unistd.h], , AC_MSG_ERROR([Missing header file]))
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   217
 AC_VAR_TIMEZONE_EXTERNALS
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   218
 
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   219
@@ -59,10 +58,8 @@
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   220
 AC_TYPE_SIGNAL
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   221
 AC_FUNC_STRFTIME
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   222
 AC_FUNC_VPRINTF
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   223
-AC_CHECK_FUNCS([alarm arc4random bzero gethostbyname gethostname inet_ntoa \
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   224
-                isascii memmove memset modf select setlocale socket strcasecmp \
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   225
-                strchr strdup strncasecmp strrchr strstr strcasestr vsnprintf \
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   226
-                iswblank])
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   227
+AC_CHECK_FUNCS([arc4random memset setlocale strcasecmp strchr strncasecmp \
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   228
+                strrchr strstr strcasestr iswblank])
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   229
 
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   230
 
18ec7aaefc9f Add add-cmake
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff changeset
   231
 AC_CHECK_DECLS([strptime],,,