~ubuntu-branches/ubuntu/trusty/bibletime/trusty

« back to all changes in this revision

Viewing changes to .pc/gcc4.7-ftbfs.patch/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Dmitrijs Ledkovs
  • Date: 2012-04-17 22:40:49 UTC
  • Revision ID: package-import@ubuntu.com-20120417224049-dvgow1eh0zqmr4fo
Tags: 2.9.1-2
Disable -Werror to work-around FTBFS with gcc-4.7 (Closes: #667113)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
PROJECT(bibletime CXX C)
 
2
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.2)
 
3
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
 
4
 
 
5
 
 
6
################################################################################
 
7
# BibleTime version
 
8
################################################################################
 
9
# NOTICE! The version number must only be changed during the release procedures
 
10
#  A N D   N O T  during development or bug-fixing. This guarantees that all
 
11
# versions of BibleTime between OLDVERSION and NEXTVERSION have version strings
 
12
# in the form of OLDVERSION+githash where githash is the git commit hash ID.
 
13
#
 
14
# Note: for pre-#.#.0 versions, use the following suffixes:
 
15
#   _dev      if pre-beta1
 
16
#   _beta1    if post-beta1
 
17
#   _beta2    if post-beta2
 
18
#   _rc1    if post-rc1
 
19
#   _rc2    if post-rc2
 
20
# For post-full-release versions, no suffix is used.
 
21
 
 
22
SET(BT_VERSION_MAJOR "2")
 
23
SET(BT_VERSION_MINOR "9")
 
24
SET(BT_VERSION_PATCH "1")
 
25
#SET(BT_VERSION_BUILD "") # Temporarily uncomment this line for release procedures
 
26
 
 
27
 
 
28
# Determine build, if needed:
 
29
IF (NOT (DEFINED BT_VERSION_BUILD))
 
30
    SET(Git_FIND_QUIETLY TRUE)
 
31
    FIND_PACKAGE(Git)
 
32
    IF (Git_FOUND)
 
33
        Git_WC_INFO(${PROJECT_SOURCE_DIR} BT)
 
34
        IF (DEFINED BT_WC_REVISION_HASH_SHORT)
 
35
            SET(BT_VERSION_BUILD "+${BT_WC_REVISION_HASH_SHORT}")
 
36
        ENDIF (DEFINED BT_WC_REVISION_HASH_SHORT)
 
37
    ENDIF (Git_FOUND)
 
38
ENDIF (NOT (DEFINED BT_VERSION_BUILD))
 
39
 
 
40
SET(BT_VERSION_FULL "${BT_VERSION_MAJOR}.${BT_VERSION_MINOR}.${BT_VERSION_PATCH}${BT_VERSION_BUILD}")
 
41
MESSAGE(STATUS "Setting up build environment for BibleTime version ${BT_VERSION_FULL}")
 
42
 
 
43
ADD_DEFINITIONS(-DBT_VERSION="${BT_VERSION_FULL}")
 
44
 
 
45
# Define debug flags
 
46
IF (NOT CMAKE_BUILD_TYPE STREQUAL "Release")
 
47
    SET(CMAKE_BUILD_TYPE "Debug")
 
48
    ADD_DEFINITIONS(-DBT_DEBUG)
 
49
ELSE (NOT CMAKE_BUILD_TYPE STREQUAL "Release")
 
50
    ADD_DEFINITIONS(-DBT_NO_DEBUG -DNDEBUG -DQT_NO_DEBUG)
 
51
ENDIF (NOT CMAKE_BUILD_TYPE STREQUAL "Release")
 
52
 
 
53
#Non-English locales to be processed and installed for UI, handbook and howto
 
54
LIST(APPEND MESSAGE_LOCALE_LANGS ar cs da de en_GB es et fi fr hu it nl nn_NO pl pt pt_BR ro ru sk zh_TW)
 
55
#WARNING: If you modify HANDBOOK_LOCALE_LANGS or HOWTO_LOCALE_LANGS,
 
56
#also modify the po4a conf files in cmake/docs/ to make sure all languages are processed.
 
57
LIST(APPEND HANDBOOK_LOCALE_LANGS ar cs de es fi fr hu it nl pt_BR)
 
58
LIST(APPEND HOWTO_LOCALE_LANGS ar bg cs da de es fi fr it hu ko nl pt_BR ru)
 
59
 
 
60
# Find required packages
 
61
SET(QT_MIN_VERSION 4.5.0)
 
62
SET(QT_USE_QTXML 1)
 
63
SET(QT_USE_QTWEBKIT 1)
 
64
SET(QT_USE_QTMAIN 1)
 
65
FIND_PACKAGE(Qt4 REQUIRED)
 
66
IF (QT_QTDBUS_FOUND AND NOT APPLE)
 
67
    SET(QT_USE_QTDBUS 1)
 
68
    MESSAGE(STATUS "Using DBUS")
 
69
ELSE (QT_QTDBUS_FOUND AND NOT APPLE)
 
70
    ADD_DEFINITIONS(-DNO_DBUS)
 
71
    MESSAGE(STATUS "No DBUS found")
 
72
ENDIF (QT_QTDBUS_FOUND AND NOT APPLE)
 
73
# If cmake says that qdbusxml2cpp is missing, uncomment the following line
 
74
#SET(QT_DBUSXML2CPP_EXECUTABLE "/usr/bin/qdbusxml2cpp") #TEMP HACK?
 
75
 
 
76
#
 
77
#custom includes
 
78
#
 
79
FIND_PACKAGE(CLucene REQUIRED)
 
80
 
 
81
# optional: Try to detect CURL, ICU and ZLib and add it to the linker flags if found, maybe Sword needs it
 
82
FIND_PACKAGE(CURL)
 
83
FIND_PACKAGE(ICU)
 
84
FIND_PACKAGE(ZLIB)
 
85
 
 
86
FIND_PACKAGE(Sword REQUIRED)
 
87
 
 
88
# directory layout settings up front, needed in various places
 
89
SET(BT_DESTINATION "bin/")
 
90
SET(BT_SHARE_PATH "share/")
 
91
IF (APPLE)
 
92
    SET(BT_DESTINATION "../MacOS/")
 
93
    SET(BT_SHARE_PATH "../share/")
 
94
ENDIF (APPLE)
 
95
 
 
96
# Define $bibletime_SOURCES
 
97
INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BTSourceFileList.cmake")
 
98
 
 
99
#
 
100
# The actual build options
 
101
#
 
102
INCLUDE_DIRECTORIES(
 
103
    ${CMAKE_CURRENT_BINARY_DIR}        #for .h files generated from .ui
 
104
    ${CMAKE_CURRENT_SOURCE_DIR}/src    # so that include paths like "frontend/..." work
 
105
    ${CLUCENE_INCLUDE_DIR}            #CLucene headers
 
106
    ${CLUCENE_LIBRARY_DIR}            #CLucene/clucene-config.h
 
107
    ${SWORD_INCLUDE_DIR}
 
108
)
 
109
 
 
110
# this will run uic on .ui files:
 
111
QT4_WRAP_UI(bibletime_UIS_H ${bibletime_UIS})
 
112
 
 
113
# this will run moc on source files
 
114
QT4_WRAP_CPP(bibletime_MOC_SOURCES ${bibletime_MOCABLE_HEADERS})
 
115
 
 
116
SOURCE_GROUP("QM Files" REGULAR_EXPRESSION ".*\\.qm")
 
117
 
 
118
#This must come before the target definition!
 
119
LINK_DIRECTORIES(
 
120
    ${CLUCENE_LIBRARY_DIR}
 
121
    ${SWORD_LIBRARY_DIR}
 
122
)
 
123
 
 
124
SET(EXECUTABLE_NAME "bibletime")
 
125
IF (APPLE)
 
126
    SET(EXECUTABLE_NAME "BibleTime")
 
127
ENDIF (APPLE)
 
128
 
 
129
 
 
130
# Define rules to generate ${bibletime_UI_translations} files
 
131
INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BTUITranslation.cmake")
 
132
 
 
133
SET(common_bibletime_SOURCES
 
134
    ${bibletime_SOURCES}
 
135
    ${bibletime_UIS_H}
 
136
    ${bibletime_MOC_SOURCES}
 
137
    ${bibletime_RC}
 
138
    ${bibletime_UI_translations}
 
139
)
 
140
 
 
141
# For the Windows Application Icon
 
142
IF (MSVC)
 
143
    SET(common_bibletime_SOURCES
 
144
        ${common_bibletime_SOURCES}
 
145
        "cmake/BTWinIcon.rc"
 
146
    )
 
147
 
 
148
    SOURCE_GROUP( "Icon Files"
 
149
        FILES "cmake/BTWinIcon.rc" }
 
150
    )
 
151
    ADD_EXECUTABLE(${EXECUTABLE_NAME} WIN32 ${common_bibletime_SOURCES})
 
152
ELSE (MSVC)
 
153
    ADD_EXECUTABLE(${EXECUTABLE_NAME} ${common_bibletime_SOURCES})
 
154
ENDIF (MSVC)
 
155
 
 
156
#IF (CMAKE_BUILD_TYPE STREQUAL "Release")
 
157
#    SET_TARGET_PROPERTIES(${EXECUTABLE_NAME}
 
158
#        PROPERTIES
 
159
#            COMPILE_FLAGS "${SWORD_CFLAGS}" #Enable exception handling
 
160
#    )
 
161
#ENDIF (CMAKE_BUILD_TYPE STREQUAL "Release")
 
162
 
 
163
INCLUDE(${QT_USE_FILE})
 
164
TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
 
165
    ${QT_LIBRARIES}
 
166
    ${CLUCENE_LIBRARY}
 
167
    ${CURL_LIBRARIES} # optional, empty if not found
 
168
    ${ICU_LIBRARIES} # optional, empty if not found
 
169
    ${ICU_I18N_LIBRARIES} # optional, empty if not found
 
170
    ${ZLIB_LIBRARIES} # optional, empty if not found
 
171
    ${SWORD_LIBRARY}
 
172
)
 
173
 
 
174
IF (APPLE)
 
175
     # enable support MacOS 10.5+
 
176
    SET_TARGET_PROPERTIES(${EXECUTABLE_NAME}
 
177
        PROPERTIES
 
178
            COMPILE_FLAGS   "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
 
179
            LINK_FLAGS      "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"
 
180
    )
 
181
ENDIF (APPLE)
 
182
 
 
183
 
 
184
IF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 
185
    SET(CMAKE_INSTALL_PREFIX "install/") #install to ./build/install, allow override
 
186
ENDIF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 
187
 
 
188
IF (APPLE)
 
189
    SET(CMAKE_INSTALL_PREFIX "install/BibleTime.app/Contents/Resources")
 
190
ENDIF (APPLE)
 
191
 
 
192
IF (MSVC)
 
193
    SET(CMAKE_CXX_FLAGS_RELEASE "-DNO_DBUS -DSWUSINGDLL /MD  /Zc:wchar_t- /W1 /D_UNICODE /DUNICODE ")
 
194
    SET(CMAKE_CXX_FLAGS_DEBUG   "-DNO_DBUS -DSWUSINGDLL /MDd /Zc:wchar_t- /W1 /D_UNICODE /DUNICODE /ZI")
 
195
ELSE (MSVC)
 
196
    SET(CMAKE_CXX_FLAGS_RELEASE "-Wall -O2 -fexceptions")
 
197
    SET(CMAKE_CXX_FLAGS_DEBUG   "-Wall -Werror -O2 -ggdb -fexceptions")
 
198
ENDIF (MSVC)
 
199
 
 
200
 
 
201
# Install files
 
202
#
 
203
 
 
204
INSTALL(TARGETS "${EXECUTABLE_NAME}"
 
205
    DESTINATION "${BT_DESTINATION}"
 
206
)
 
207
 
 
208
# icons
 
209
FILE(GLOB INSTALL_ICONS_LIST "${CMAKE_CURRENT_SOURCE_DIR}/pics/icons/*.svg")
 
210
INSTALL(FILES ${INSTALL_ICONS_LIST}
 
211
    DESTINATION "${BT_SHARE_PATH}bibletime/icons/"
 
212
)
 
213
# icons - png, needed for About Dialog
 
214
FILE(GLOB INSTALL_ICONS_LIST_PNG "${CMAKE_CURRENT_SOURCE_DIR}/pics/icons/bibletime.png")
 
215
INSTALL(FILES ${INSTALL_ICONS_LIST_PNG}
 
216
    DESTINATION "${BT_SHARE_PATH}bibletime/icons/"
 
217
)
 
218
# display templates
 
219
FILE(GLOB INSTALL_DISPLAY_TEMPLATES_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/display-templates/*.tmpl)
 
220
INSTALL(FILES ${INSTALL_DISPLAY_TEMPLATES_LIST}
 
221
    DESTINATION "${BT_SHARE_PATH}bibletime/display-templates/"
 
222
)
 
223
FILE(GLOB INSTALL_DISPLAY_CSS_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/display-templates/*.css)
 
224
INSTALL(FILES ${INSTALL_DISPLAY_CSS_LIST}
 
225
    DESTINATION "${BT_SHARE_PATH}bibletime/display-templates/"
 
226
)
 
227
# javascript
 
228
INSTALL(FILES "src/frontend/display/bthtml.js"
 
229
    DESTINATION "${BT_SHARE_PATH}bibletime/javascript/"
 
230
)
 
231
# license.html
 
232
INSTALL(FILES "docs/license.html"
 
233
    DESTINATION "${BT_SHARE_PATH}bibletime/license/"
 
234
)
 
235
# splash screen
 
236
INSTALL(FILES "pics/startuplogo.png" "pics/startuplogo_christmas.png" "pics/startuplogo_easter.jpg"
 
237
    DESTINATION "${BT_SHARE_PATH}bibletime/pics/"
 
238
)
 
239
#
 
240
# Platform specific installation
 
241
#
 
242
# LINUX: application icon
 
243
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/pics/icons/bibletime.svg"
 
244
    DESTINATION "${BT_SHARE_PATH}icons/"
 
245
)
 
246
# LINUX: desktop file
 
247
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/platforms/linux/bibletime.desktop.cmake" "${CMAKE_CURRENT_BINARY_DIR}/bibletime.desktop")
 
248
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/bibletime.desktop"
 
249
    DESTINATION "${BT_SHARE_PATH}applications/"
 
250
)
 
251
IF (MSVC)
 
252
    # sword locale information
 
253
    FILE(GLOB INSTALL_SWORD_LOCALE_LIST ${SWORD_INCLUDE_DIR}/../locales.d/*)
 
254
    INSTALL(FILES ${INSTALL_SWORD_LOCALE_LIST}
 
255
        DESTINATION "${BT_SHARE_PATH}sword/locales.d/"
 
256
    )
 
257
 
 
258
    # install pdb file for debugging purposes
 
259
    IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
 
260
        SET( bibletime_PDB ${bibletime_BINARY_DIR}/Debug/bibletime.pdb)
 
261
        INSTALL (FILES "${bibletime_PDB}"
 
262
            DESTINATION "${BT_DESTINATION}"
 
263
        )
 
264
    ENDIF (CMAKE_BUILD_TYPE STREQUAL "Debug")
 
265
ENDIF (MSVC)
 
266
 
 
267
IF (APPLE)
 
268
    # sword locale information, needed for DMG image
 
269
    FILE(GLOB INSTALL_SWORD_LOCALE_LIST ${SWORD_INCLUDE_DIR}/../../share/sword/locales.d/*)
 
270
    INSTALL(FILES ${INSTALL_SWORD_LOCALE_LIST}
 
271
        DESTINATION "${BT_SHARE_PATH}sword/locales.d/"
 
272
    )
 
273
ENDIF (APPLE)
 
274
 
 
275
 
 
276
INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BTDocumentation.cmake")
 
277
INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BTDeveloper.cmake")
 
278
 
 
279
IF (WIN32 AND NOT UNIX)
 
280
    INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BTBinaryPackageWindows.cmake")
 
281
ENDIF (WIN32 AND NOT UNIX)
 
282
IF (APPLE)
 
283
    INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BTBinaryPackageMacOS.cmake")
 
284
ENDIF (APPLE)
 
285
 
 
286
######################################################
 
287
# "make uninstall" target; see http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
 
288
#
 
289
CONFIGURE_FILE(
 
290
    "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
 
291
    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
 
292
    IMMEDIATE @ONLY
 
293
)
 
294
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
 
295
######################################################
 
296