~ubuntu-branches/debian/experimental/kopete/experimental

« back to all changes in this revision

Viewing changes to protocols/jabber/libiris/src/jdns/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Maximiliano Curia
  • Date: 2015-02-24 11:32:57 UTC
  • mfrom: (1.1.41 vivid)
  • Revision ID: package-import@ubuntu.com-20150224113257-gnupg4v7lzz18ij0
Tags: 4:14.12.2-1
* New upstream release (14.12.2).
* Bump Standards-Version to 3.9.6, no changes needed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
project(jdns)
 
2
 
 
3
# Force cmake 2.8.8 in order to have a decent support of Qt5
 
4
cmake_minimum_required(VERSION 2.8.8)
 
5
cmake_policy(SET CMP0003 NEW)
 
6
 
 
7
# Do not link against qtmain on Windows
 
8
cmake_policy(SET CMP0020 OLD)
 
9
 
 
10
# On Windows debug library should have 'd' postfix.
 
11
if(WIN32)
 
12
  set(CMAKE_DEBUG_POSTFIX "d")
 
13
elseif(APPLE)
 
14
 set(CMAKE_DEBUG_POSTFIX "_debug")
 
15
endif(WIN32)
 
16
 
 
17
# OPTION(OSX_FRAMEWORK "Build a Mac OS X Framework")
 
18
# SET(FRAMEWORK_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/Library/Frameworks"
 
19
#     CACHE PATH "Where to place jdns.framework if OSX_FRAMEWORK is selected")
 
20
 
 
21
option(BUILD_SHARED_LIBS "Build shared library" ON)
 
22
option(BUILD_QJDNS "Buid JDNS Qt-wrapper" ON)
 
23
option(BUILD_JDNS_TOOL "Build jdns test tool" ON)
 
24
 
 
25
# jdns tool requires qjdns
 
26
if(NOT BUILD_QJDNS)
 
27
  set(BUILD_JDNS_TOOL OFF)
 
28
endif(NOT BUILD_QJDNS)
 
29
 
 
30
if(NOT BUILD_SHARED_LIBS)
 
31
  add_definitions(-DJDNS_STATIC)
 
32
endif(NOT BUILD_SHARED_LIBS)
 
33
 
 
34
if(BUILD_QJDNS)
 
35
  option(QT4_BUILD "Force building with Qt4 even if Qt5 is found")
 
36
  if(NOT QT4_BUILD)
 
37
    find_package(Qt5Core QUIET)
 
38
    find_package(Qt5Network QUIET)
 
39
  endif(NOT QT4_BUILD)
 
40
 
 
41
  if(Qt5Core_FOUND)
 
42
    message("Qt5 found")
 
43
 
 
44
    include_directories(${Qt5Core_INCLUDE_DIRS})
 
45
    include_directories(${Qt5Network_INCLUDE_DIRS})
 
46
    add_definitions(${Qt5Core_DEFINITIONS})
 
47
    add_definitions(${Qt5Network_DEFINITIONS})
 
48
 
 
49
    # Tell CMake to run moc when necessary:
 
50
    set(CMAKE_AUTOMOC ON)
 
51
    # As moc files are generated in the binary dir, tell CMake
 
52
    # to always look for includes there:
 
53
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
 
54
    set(QJDns_QT_PC_VERSION "Qt5Core Qt5Network")
 
55
  else(Qt5Core_FOUND)
 
56
    message("Qt5 not found, searching for Qt4")
 
57
    # Find Qt4
 
58
    find_package(Qt4 REQUIRED QtCore QtNetwork)
 
59
 
 
60
    # Include the cmake file needed to use qt4
 
61
    include(${QT_USE_FILE})
 
62
    set(QJDns_QT_PC_VERSION "QtCore QtNetwork")
 
63
  endif(Qt5Core_FOUND)
 
64
 
 
65
  if(NOT WIN32)
 
66
    set(QT_DONT_USE_QTGUI TRUE)
 
67
  endif(NOT WIN32)
 
68
endif(BUILD_QJDNS)
 
69
 
 
70
# put the include dirs which are in the source or build tree
 
71
# before all other include dirs, so the headers in the sources
 
72
# are prefered over the already installed ones
 
73
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
 
74
 
 
75
set(JDNS_INCLUDEDIR "${CMAKE_CURRENT_SOURCE_DIR}/include/jdns" )
 
76
 
 
77
 
 
78
#add extra search paths for libraries and includes
 
79
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
 
80
set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE STRING "Directory where binary will install")
 
81
set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Directory where library will install")
 
82
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The directory the headers are installed in")
 
83
 
 
84
if(NOT MSVC)
 
85
  set(JDNS_CONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake/jdns")
 
86
  set(QJDNS_CONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake/qjdns")
 
87
else(NOT MSVC)
 
88
  set(JDNS_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/cmake/")
 
89
  set(QJDNS_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/cmake/")
 
90
endif(NOT MSVC)
 
91
 
 
92
if(APPLE)
 
93
   set(CMAKE_INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
 
94
endif(APPLE)
 
95
 
 
96
set(JDNS_LIB_MAJOR_VERSION "2")
 
97
set(JDNS_LIB_MINOR_VERSION "0")
 
98
set(JDNS_LIB_PATCH_VERSION "0")
 
99
 
 
100
set(JDNS_LIB_VERSION_STRING "${JDNS_LIB_MAJOR_VERSION}.${JDNS_LIB_MINOR_VERSION}.${JDNS_LIB_PATCH_VERSION}")
 
101
 
 
102
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" )
 
103
# Use the same path for shared and static library
 
104
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" )
 
105
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" )
 
106
 
 
107
 
 
108
# pkg-config
 
109
if(NOT WIN32)
 
110
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/jdns.pc.in
 
111
                 ${CMAKE_CURRENT_BINARY_DIR}/jdns.pc
 
112
                 @ONLY)
 
113
  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jdns.pc
 
114
          DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 
115
 
 
116
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/qjdns.pc.in
 
117
                 ${CMAKE_CURRENT_BINARY_DIR}/qjdns.pc
 
118
                 @ONLY)
 
119
  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qjdns.pc
 
120
          DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 
121
endif(NOT WIN32)
 
122
 
 
123
include_directories("include/jdns/")
 
124
 
 
125
# Subdirs
 
126
add_subdirectory(src)
 
127
 
 
128
if(BUILD_JDNS_TOOL)
 
129
  add_subdirectory(tools/jdns)
 
130
endif(BUILD_JDNS_TOOL)
 
131
 
 
132
configure_file(
 
133
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
 
134
  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
 
135
  IMMEDIATE @ONLY)
 
136
 
 
137
# figure out the relative path from the installed Config.cmake file to the install prefix (which may be at
 
138
# runtime different from the chosen CMAKE_INSTALL_PREFIX if under Windows the package was installed anywhere)
 
139
# This relative path will be configured into the QJDNSConfig.cmake
 
140
file(RELATIVE_PATH relInstallDir ${JDNS_CONFIG_INSTALL_DIR} ${CMAKE_INSTALL_PREFIX})
 
141
file(RELATIVE_PATH JDNS_INCLUDEDIR_REL ${CMAKE_INSTALL_PREFIX} "${INCLUDE_INSTALL_DIR}/jdns")
 
142
file(RELATIVE_PATH LIB_INSTALL_DIR_REL ${CMAKE_INSTALL_PREFIX} ${LIB_INSTALL_DIR})
 
143
 
 
144
# cmake-modules
 
145
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/JDnsConfig.cmake.in
 
146
               ${CMAKE_CURRENT_BINARY_DIR}/JDnsConfig.cmake
 
147
               @ONLY)
 
148
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/JDnsConfigVersion.cmake.in
 
149
               ${CMAKE_CURRENT_BINARY_DIR}/JDnsConfigVersion.cmake
 
150
               @ONLY)
 
151
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/JDnsConfig.cmake
 
152
              ${CMAKE_CURRENT_BINARY_DIR}/JDnsConfigVersion.cmake
 
153
        DESTINATION ${JDNS_CONFIG_INSTALL_DIR})
 
154
 
 
155
install(EXPORT jdns-export DESTINATION ${JDNS_CONFIG_INSTALL_DIR} FILE JDnsTargets.cmake)
 
156
if(BUILD_QJDNS)
 
157
  install(EXPORT qjdns-export DESTINATION ${QJDNS_CONFIG_INSTALL_DIR} FILE QJDnsTargets.cmake)
 
158
 
 
159
  # cmake-modules
 
160
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/QJDnsConfig.cmake.in
 
161
                 ${CMAKE_CURRENT_BINARY_DIR}/QJDnsConfig.cmake
 
162
                 @ONLY)
 
163
               
 
164
  configure_file(${CMAKE_CURRENT_SOURCE_DIR}/QJDnsConfigVersion.cmake.in
 
165
                 ${CMAKE_CURRENT_BINARY_DIR}/QJDnsConfigVersion.cmake
 
166
                 @ONLY)
 
167
 
 
168
  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QJDnsConfig.cmake
 
169
                ${CMAKE_CURRENT_BINARY_DIR}/QJDnsConfigVersion.cmake
 
170
          DESTINATION ${QJDNS_CONFIG_INSTALL_DIR})
 
171
endif(BUILD_QJDNS)
 
172
 
 
173
add_custom_target(uninstall
 
174
  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")