~kvilhaugsvik/bibletime/bibletime.notRemovable

28 by mgruner
-changed CMakeLists.txt to support .c files, needed for build
1
PROJECT(bibletime CXX C)
1125 by mgruner
* Require Sword 1.6.0, obsolete support code removed
2
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
293 by mgruner
-added gettext detection and catalog installation; i18n doesn't seem to be functional yet in my kde4 installation / i cannot specify a KDE language to use
3
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
4
#Version
1136 by mgruner
release 2.1.beta1
5
ADD_DEFINITIONS(-DBT_VERSION="2.1.beta1")
534 by mgruner
6
544 by mgruner
finished docs reorganizing
7
#Non-English locales to be processed and installed for UI, handbook and howto
796 by mgruner
Added Vietnamese translation beginnings from Daniel Owens
8
LIST(APPEND MESSAGE_LOCALE_LANGS af bg cs da de en_GB es et fi fr hu it ko nl nn_NO no pl pt_br ro ru sk sv ua vi zh_CN zh_TW)
731 by mgruner
Changed the cmake procedure to be more generic
9
#WARNING: If you modify HANDBOOK_LOCALE_LANGS or HOWTO_LOCALE_LANGS,
10
#also modify the po4a conf files in cmake/docs/ to make sure all languages are processed.
1132 by tabthorpe
- Initial load of Brazilian Portuguese Handbook, courtesy of Augusto Cesar
11
LIST(APPEND HANDBOOK_LOCALE_LANGS cs de fi fr hu nl pt-br)
1061 by tabthorpe
- Hungarian Howto translation, courtesy of Geza Novak
12
LIST(APPEND HOWTO_LOCALE_LANGS bg cs de fi fr it hu ko nl pt-br ru)
293 by mgruner
-added gettext detection and catalog installation; i18n doesn't seem to be functional yet in my kde4 installation / i cannot specify a KDE language to use
13
18 by mgruner
-finished porting of backend/ and util/
14
######################################################
15
# Find required packages
16
#
673 by mgruner
require QT 4.4
17
SET(QT_MIN_VERSION 4.4.0)
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
18
SET(QT_USE_QTXML 1)
769 by gholmlund
Eliminate KFontChooser and use new CFontChooser
19
SET(QT_USE_QTWEBKIT 1)
293 by mgruner
-added gettext detection and catalog installation; i18n doesn't seem to be functional yet in my kde4 installation / i cannot specify a KDE language to use
20
FIND_PACKAGE(Qt4 REQUIRED)
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
21
IF (QT_QTDBUS_FOUND AND NOT APPLE)
889 by eelik
Made DBus automatically optional.
22
	SET(QT_USE_QTDBUS 1)
23
	MESSAGE("Using DBUS")
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
24
ELSE (QT_QTDBUS_FOUND AND NOT APPLE)
889 by eelik
Made DBus automatically optional.
25
	ADD_DEFINITIONS(-DNO_DBUS)
26
	MESSAGE("No DBUS found")
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
27
ENDIF(QT_QTDBUS_FOUND AND NOT APPLE)
723 by mgruner
KDE4 works without the previous cmake hacks
28
#
29
# If cmake says that qdbusxml2cpp is missing, uncomment the following line
30
#
31
#SET(QT_DBUSXML2CPP_EXECUTABLE "/usr/bin/qdbusxml2cpp") #TEMP HACK?
32
1029 by mgruner
revert commit of revision 1215, re-adding boost dependency as we do not want to require Qt 4.5.0 yet
33
FIND_PACKAGE(Boost REQUIRED)
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
34
#
18 by mgruner
-finished porting of backend/ and util/
35
#custom includes
162 by mgruner
small cleanup
36
#
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
37
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
38
FIND_PACKAGE(CLucene REQUIRED)
1087 by mgruner
Added detection of curl, which is optional, but may be required by Sword for linking
39
40
# optional: Try to detect CURL and add it to the linker flags if found, maybe Sword needs it
41
FIND_PACKAGE(CURL)
1090 by mgruner
Added detection of icu, which is optional, but may be required by Sword for linking
42
# optional: Try to detect ICU and add it to the linker flags if found, maybe Sword needs it
43
FIND_PACKAGE(ICU)
1098 by hellings
Working out some issues with detection and packaging on OS X (still outstanding link problems).
44
# optional: Try to detect ZLib and add it to the linker flags if found, maybe Sword needs it
45
FIND_PACKAGE(ZLIB)
1087 by mgruner
Added detection of curl, which is optional, but may be required by Sword for linking
46
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
47
FIND_PACKAGE(Sword REQUIRED)
48
######################################################
49
50
51
######################################################
52
# Define $bibletime_SOURCES
3 by mgruner
-added initial cmake build files
53
#
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
54
INCLUDE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/bibletime_source_list.cmake")
520 by mgruner
ECLIPSE RULES! =)
55
#
394 by mgruner
play with cmake to allow a distinction of debug and release mode
56
# Generate config.h
520 by mgruner
ECLIPSE RULES! =)
57
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
58
######################################################
59
60
61
######################################################
62
# The actual build options
63
#
3 by mgruner
-added initial cmake build files
64
INCLUDE_DIRECTORIES(
992 by mgruner
Applied cmake patch from Greg Hellings with slight modifications
65
	${CMAKE_CURRENT_BINARY_DIR}		#for .h files generated from .ui
66
	${CMAKE_CURRENT_SOURCE_DIR}/src	# so that include paths like "frontend/..." work
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
67
	${CLUCENE_INCLUDE_DIR}			#CLucene headers
68
	${CLUCENE_LIBRARY_DIR}			#CLucene/clucene-config.h
1029 by mgruner
revert commit of revision 1215, re-adding boost dependency as we do not want to require Qt 4.5.0 yet
69
	${Boost_INCLUDE_DIRS}
19 by mgruner
-cleanups for clucene detection
70
	${SWORD_INCLUDE_DIR}
3 by mgruner
-added initial cmake build files
71
)
878 by gholmlund
Change CMakeList.txt to remove KDE references. Change many cpp files to add an include for <name>.moc file
72
73
74
# this will run uic on .ui files:
75
QT4_WRAP_UI(bibletime_UIS_H ${bibletime_UIS})
76
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
77
#
8 by mgruner
-ported cresmgr.cpp
78
#This must come before the target definition!
79
LINK_DIRECTORIES(
18 by mgruner
-finished porting of backend/ and util/
80
	${CLUCENE_LIBRARY_DIR}
1083 by mgruner
Rewrote Sword library detection code for compiling in a hopefully platform-independent way
81
	${SWORD_LIBRARY_DIR}
8 by mgruner
-ported cresmgr.cpp
82
)
642 by mgruner
cmake reorganisation
83
1036 by hellings
Fixing name casing semantic error in Mac OS from
84
IF(APPLE)
85
	SET(EXECUTABLE_NAME "BibleTime")
86
ELSE(APPLE)
87
	SET(EXECUTABLE_NAME "bibletime")
88
ENDIF(APPLE)
89
659 by mgruner
Added a simple unit testing framework
90
#Link to QtTest only in debug builds
91
IF (CMAKE_BUILD_TYPE STREQUAL "Release")
878 by gholmlund
Change CMakeList.txt to remove KDE references. Change many cpp files to add an include for <name>.moc file
92
	# this will run moc on source files
996 by mgruner
* Applied patch from Jaak Ristioja which makes generated config.h obsolete
93
	QT4_WRAP_CPP(bibletime_MOC_SOURCES ${bibletime_MOCABLE_HEADERS})
1036 by hellings
Fixing name casing semantic error in Mac OS from
94
	ADD_EXECUTABLE(${EXECUTABLE_NAME} ${bibletime_SOURCES} ${bibletime_UIS_H} ${bibletime_MOC_SOURCES})
1125 by mgruner
* Require Sword 1.6.0, obsolete support code removed
95
#	SET_TARGET_PROPERTIES(${EXECUTABLE_NAME}
96
#		PROPERTIES
97
#			COMPILE_FLAGS "${SWORD_CFLAGS}" #Enable exception handling
98
#	)
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
99
	INCLUDE(${QT_USE_FILE})
1036 by hellings
Fixing name casing semantic error in Mac OS from
100
	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
101
		${QT_LIBRARIES}
659 by mgruner
Added a simple unit testing framework
102
		${CLUCENE_LIBRARY}
1087 by mgruner
Added detection of curl, which is optional, but may be required by Sword for linking
103
		${CURL_LIBRARIES} # optional, empty if not found
1090 by mgruner
Added detection of icu, which is optional, but may be required by Sword for linking
104
		${ICU_LIBRARIES} # optional, empty if not found
1091 by hellings
Updated to add libicui18n to the linker flags, as this will be
105
		${ICU_I18N_LIBRARIES} # optional, empty if not found
1098 by hellings
Working out some issues with detection and packaging on OS X (still outstanding link problems).
106
		${ZLIB_LIBRARIES} # optional, empty if not found
1083 by mgruner
Rewrote Sword library detection code for compiling in a hopefully platform-independent way
107
		${SWORD_LIBRARY}
659 by mgruner
Added a simple unit testing framework
108
	)
109
ELSE (CMAKE_BUILD_TYPE STREQUAL "Release")
878 by gholmlund
Change CMakeList.txt to remove KDE references. Change many cpp files to add an include for <name>.moc file
110
	# this will run moc on source files
996 by mgruner
* Applied patch from Jaak Ristioja which makes generated config.h obsolete
111
	QT4_WRAP_CPP(bibletime_MOC_SOURCES ${bibletime_MOCABLE_HEADERS})
112
	QT4_WRAP_CPP(bibletime_test_MOC_SOURCES ${bibletime_test_MOCABLE_HEADERS})
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
113
	SET(CMAKE_BUILD_TYPE "Debug")
1036 by hellings
Fixing name casing semantic error in Mac OS from
114
	ADD_EXECUTABLE(${EXECUTABLE_NAME} ${bibletime_SOURCES}
996 by mgruner
* Applied patch from Jaak Ristioja which makes generated config.h obsolete
115
                             ${bibletime_test_SOURCES} ${bibletime_UIS_H} ${bibletime_MOC_SOURCES} ${bibletime_test_MOC_SOURCES})
1036 by hellings
Fixing name casing semantic error in Mac OS from
116
	SET_TARGET_PROPERTIES(${EXECUTABLE_NAME}
731 by mgruner
Changed the cmake procedure to be more generic
117
		PROPERTIES
1125 by mgruner
* Require Sword 1.6.0, obsolete support code removed
118
			COMPILE_FLAGS "-DBT_ENABLE_TESTING" #Enable exception handling and Testing
659 by mgruner
Added a simple unit testing framework
119
	)
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
120
	SET(QT_USE_QTTEST 1)
121
	INCLUDE(${QT_USE_FILE})
1036 by hellings
Fixing name casing semantic error in Mac OS from
122
	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
123
		${QT_LIBRARIES}
124
		${QT_LIBRARIES_DEBUG}
659 by mgruner
Added a simple unit testing framework
125
		${CLUCENE_LIBRARY}
1087 by mgruner
Added detection of curl, which is optional, but may be required by Sword for linking
126
		${CURL_LIBRARIES} # optional, empty if not found
1090 by mgruner
Added detection of icu, which is optional, but may be required by Sword for linking
127
		${ICU_LIBRARIES} # optional, empty if not found
1091 by hellings
Updated to add libicui18n to the linker flags, as this will be
128
		${ICU_I18N_LIBRARIES} # optional, empty if not found
1083 by mgruner
Rewrote Sword library detection code for compiling in a hopefully platform-independent way
129
		${SWORD_LIBRARY}
659 by mgruner
Added a simple unit testing framework
130
	)
131
	# Unit Tests
132
	ADD_CUSTOM_TARGET(test
1036 by hellings
Fixing name casing semantic error in Mac OS from
133
		COMMAND ./${EXECUTABLE_NAME} --run-tests
659 by mgruner
Added a simple unit testing framework
134
		WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
135
		COMMENT "Running BibleTime Unit Tests"
136
	)
137
ENDIF (CMAKE_BUILD_TYPE STREQUAL "Release")
138
835 by gholmlund
Add new classes BtHtmlReadDisplay and BtHtmlJsObject to implement QtWebKit for displaying text. Also added the bthtml.js javascript file. The use of QtWebKit is currently turned off by #if statements. It can be turned on by changing the OPTION near the beginning of CMakeLists.txt.
139
IF(USE_QT_WEB_KIT)
140
	SET_SOURCE_FILES_PROPERTIES( ${bibletime_SOURCES} COMPILE_FLAGS -DUSE_QTWEBKIT )
141
ENDIF(USE_QT_WEB_KIT)
659 by mgruner
Added a simple unit testing framework
142
889 by eelik
Made DBus automatically optional.
143
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
144
######################################################
145
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
146
IF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
642 by mgruner
cmake reorganisation
147
	SET(CMAKE_INSTALL_PREFIX "install/") #install to ./build/install, allow override
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
148
ENDIF (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
149
933 by gholmlund
Add compiler flags for Visual Studio
150
IF (MSVC)
1125 by mgruner
* Require Sword 1.6.0, obsolete support code removed
151
	SET(CMAKE_CXX_FLAGS_RELEASE "-DNO_DBUS -DSWUSINGDLL -DBT_VERSION=\\\"${BT_VERSION}\\\" /MD  /Zc:wchar_t- /W1 /D_UNICODE /DUNICODE ")
152
	SET(CMAKE_CXX_FLAGS_DEBUG   "-DNO_DBUS -DSWUSINGDLL -DBT_VERSION=\\\"${BT_VERSION}\\\" /MDd /Zc:wchar_t- /W1 /D_UNICODE /DUNICODE -DBT_ENABLE_TESTING /ZI")
933 by gholmlund
Add compiler flags for Visual Studio
153
ELSE (MSVC)
1125 by mgruner
* Require Sword 1.6.0, obsolete support code removed
154
	SET(CMAKE_CXX_FLAGS_RELEASE "-W -O2 -fexceptions")
155
	SET(CMAKE_CXX_FLAGS_DEBUG   "-Wall -Werror -O0 -g -fexceptions -DBT_ENABLE_TESTING")
933 by gholmlund
Add compiler flags for Visual Studio
156
ENDIF (MSVC)
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
157
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
158
159
######################################################
393 by mgruner
no longer compile default templates into the binary, load them instead
160
# Install files
161
#
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
162
SET (BT_DESTINATION "bin/")
163
SET (BT_SHARE_PATH "")
882 by mgruner
Included fixes by Greg Hellings for platform compatibility
164
1036 by hellings
Fixing name casing semantic error in Mac OS from
165
INSTALL(TARGETS "${EXECUTABLE_NAME}"
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
166
	DESTINATION "${BT_DESTINATION}"
644 by mgruner
167
)
882 by mgruner
Included fixes by Greg Hellings for platform compatibility
168
470 by mgruner
changed make system to not generate compiled message catalogs every time
169
# compiled catalogs
534 by mgruner
170
FOREACH(MESSAGE_LOCALE_LANG ${MESSAGE_LOCALE_LANGS})
734 by mgruner
171
	INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages/bibletime_ui_${MESSAGE_LOCALE_LANG}.qm"
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
172
		DESTINATION "${BT_SHARE_PATH}share/bibletime/locale/"
642 by mgruner
cmake reorganisation
173
	)
544 by mgruner
finished docs reorganizing
174
ENDFOREACH(MESSAGE_LOCALE_LANG ${MESSAGE_LOCALE_LANGS})
393 by mgruner
no longer compile default templates into the binary, load them instead
175
# icons
562 by mgruner
Install .desktop file and app icon for linux
176
FILE(GLOB INSTALL_ICONS_LIST "${CMAKE_CURRENT_SOURCE_DIR}/pics/icons/*.svg")
734 by mgruner
177
INSTALL(FILES ${INSTALL_ICONS_LIST}
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
178
	DESTINATION "${BT_SHARE_PATH}share/bibletime/icons/"
642 by mgruner
cmake reorganisation
179
)
906 by gholmlund
Add the "About BibleTime" dialog box and the more generic BtTabHtmlDialog class.
180
# icons - png, needed for About Dialog
181
FILE(GLOB INSTALL_ICONS_LIST_PNG "${CMAKE_CURRENT_SOURCE_DIR}/pics/icons/bibletime.png")
182
INSTALL(FILES ${INSTALL_ICONS_LIST_PNG}
183
	DESTINATION "${BT_SHARE_PATH}share/bibletime/icons/"
184
)
393 by mgruner
no longer compile default templates into the binary, load them instead
185
# display templates
544 by mgruner
finished docs reorganizing
186
FILE(GLOB INSTALL_DISPLAY_TEMPLATES_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/display-templates/*.tmpl)
734 by mgruner
187
INSTALL(FILES ${INSTALL_DISPLAY_TEMPLATES_LIST}
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
188
	DESTINATION "${BT_SHARE_PATH}share/bibletime/display-templates/"
642 by mgruner
cmake reorganisation
189
)
835 by gholmlund
Add new classes BtHtmlReadDisplay and BtHtmlJsObject to implement QtWebKit for displaying text. Also added the bthtml.js javascript file. The use of QtWebKit is currently turned off by #if statements. It can be turned on by changing the OPTION near the beginning of CMakeLists.txt.
190
# javascript
191
INSTALL(FILES "src/frontend/display/bthtml.js"
192
	DESTINATION "${BT_SHARE_PATH}share/bibletime/javascript/"
193
)
906 by gholmlund
Add the "About BibleTime" dialog box and the more generic BtTabHtmlDialog class.
194
# license.html
908 by mgruner
move new license.html file to subdirectory
195
INSTALL(FILES "docs/license.html"
906 by gholmlund
Add the "About BibleTime" dialog box and the more generic BtTabHtmlDialog class.
196
	DESTINATION "${BT_SHARE_PATH}share/bibletime/license/"
197
)
393 by mgruner
no longer compile default templates into the binary, load them instead
198
# splash screen
734 by mgruner
199
INSTALL(FILES "pics/startuplogo.png"
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
200
	DESTINATION "${BT_SHARE_PATH}share/bibletime/pics/"
642 by mgruner
cmake reorganisation
201
)
544 by mgruner
finished docs reorganizing
202
#handbook (install images from en/ to all languages)
203
FILE(GLOB INSTALL_HANDBOOK_IMAGES "${CMAKE_CURRENT_SOURCE_DIR}/docs/handbook/en/html/*.png")
204
FOREACH(HANDBOOK_LOCALE_LANG ${HANDBOOK_LOCALE_LANGS} "en")
205
	FILE(GLOB INSTALL_HANDBOOK_HTML_FILES_${HANDBOOK_LOCALE_LANG} "${CMAKE_CURRENT_SOURCE_DIR}/docs/handbook/${HANDBOOK_LOCALE_LANG}/html/*.html")
734 by mgruner
206
	INSTALL(FILES ${INSTALL_HANDBOOK_HTML_FILES_${HANDBOOK_LOCALE_LANG}}
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
207
		DESTINATION "${BT_SHARE_PATH}share/bibletime/docs/handbook/${HANDBOOK_LOCALE_LANG}/"
642 by mgruner
cmake reorganisation
208
	)
734 by mgruner
209
	INSTALL(FILES ${INSTALL_HANDBOOK_IMAGES}
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
210
		DESTINATION "${BT_SHARE_PATH}share/bibletime/docs/handbook/${HANDBOOK_LOCALE_LANG}/"
642 by mgruner
cmake reorganisation
211
	)
544 by mgruner
finished docs reorganizing
212
ENDFOREACH(HANDBOOK_LOCALE_LANG ${HANDBOOK_LOCALE_LANGS} "en")
213
#howto (does not have images)
214
FOREACH(HOWTO_LOCALE_LANG ${HOWTO_LOCALE_LANGS} "en")
215
	FILE(GLOB INSTALL_HOWTO_HTML_FILES_${HOWTO_LOCALE_LANG} "${CMAKE_CURRENT_SOURCE_DIR}/docs/howto/${HOWTO_LOCALE_LANG}/html/*.html")
734 by mgruner
216
	INSTALL(FILES ${INSTALL_HOWTO_HTML_FILES_${HOWTO_LOCALE_LANG}}
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
217
		DESTINATION "${BT_SHARE_PATH}share/bibletime/docs/howto/${HOWTO_LOCALE_LANG}/"
642 by mgruner
cmake reorganisation
218
	)
544 by mgruner
finished docs reorganizing
219
ENDFOREACH(HOWTO_LOCALE_LANG ${HOWTO_LOCALE_LANGS} "en")
562 by mgruner
Install .desktop file and app icon for linux
220
#
221
# Platform specific installation
222
#
223
# LINUX: application icon
734 by mgruner
224
INSTALL(FILES "${CMAKE_CURRENT_SOURCE_DIR}/pics/icons/bibletime.svg"
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
225
	DESTINATION "${BT_SHARE_PATH}share/icons/"
642 by mgruner
cmake reorganisation
226
)
562 by mgruner
Install .desktop file and app icon for linux
227
# LINUX: desktop file
228
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/cmake/platforms/linux/bibletime.desktop.cmake" "${CMAKE_CURRENT_BINARY_DIR}/bibletime.desktop")
734 by mgruner
229
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/bibletime.desktop"
732 by mgruner
2008-09-12 Martin Gruner <mgruner@crosswire.org>
230
	DESTINATION "${BT_SHARE_PATH}share/applications/"
642 by mgruner
cmake reorganisation
231
)
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
232
######################################################
233
234
235
######################################################
465 by mgruner
reworked locale system to use QT's locale mechanism tr() instead of KDE's i18n()
236
# Update source catalog files (this is the basis for the translator's work)
237
# Invoke this with "make messages"
238
#
470 by mgruner
changed make system to not generate compiled message catalogs every time
239
ADD_CUSTOM_TARGET("messages")
534 by mgruner
240
FOREACH(MESSAGE_LOCALE_LANG ${MESSAGE_LOCALE_LANGS})
241
	ADD_CUSTOM_TARGET("messages_${MESSAGE_LOCALE_LANG}"
695 by mgruner
reorganizing i18n data
242
		COMMAND lupdate "${CMAKE_CURRENT_SOURCE_DIR}/src" -ts "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages/bibletime_ui_${MESSAGE_LOCALE_LANG}.ts")
534 by mgruner
243
	ADD_CUSTOM_TARGET("compile_messages_${MESSAGE_LOCALE_LANG}"
695 by mgruner
reorganizing i18n data
244
		COMMAND lrelease "bibletime_ui_${MESSAGE_LOCALE_LANG}.ts" -qm "bibletime_ui_${MESSAGE_LOCALE_LANG}.qm"
534 by mgruner
245
		WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages/")
246
	ADD_DEPENDENCIES("compile_messages_${MESSAGE_LOCALE_LANG}" "messages_${MESSAGE_LOCALE_LANG}")
247
	ADD_DEPENDENCIES("messages" "compile_messages_${MESSAGE_LOCALE_LANG}")
248
ENDFOREACH(MESSAGE_LOCALE_LANG)
466 by mgruner
added message file template
249
# Template file for translators
250
ADD_CUSTOM_TARGET("messages_default"
695 by mgruner
reorganizing i18n data
251
	COMMAND lupdate "${CMAKE_CURRENT_SOURCE_DIR}/src" -ts "${CMAKE_CURRENT_SOURCE_DIR}/i18n/messages/bibletime_ui.ts")
466 by mgruner
added message file template
252
ADD_DEPENDENCIES(messages "messages_default")
465 by mgruner
reworked locale system to use QT's locale mechanism tr() instead of KDE's i18n()
253
######################################################
254
523 by mgruner
Implemented a cool system for translation of howto and handbook using po4a
255
######################################################
534 by mgruner
256
# Update handbook
523 by mgruner
Implemented a cool system for translation of howto and handbook using po4a
257
ADD_CUSTOM_TARGET("handbook")
534 by mgruner
258
523 by mgruner
Implemented a cool system for translation of howto and handbook using po4a
259
ADD_CUSTOM_TARGET("handbook_translations"
534 by mgruner
260
	COMMAND po4a -v --no-backups -k 0 cmake/docs/handbook_po4a.conf
523 by mgruner
Implemented a cool system for translation of howto and handbook using po4a
261
	WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
534 by mgruner
262
263
FOREACH(HANDBOOK_LOCALE_LANG ${HANDBOOK_LOCALE_LANGS} "en")
264
	ADD_CUSTOM_TARGET("handbook_${HANDBOOK_LOCALE_LANG}"
1079 by mgruner
Fix: remove unneccesary quotes
265
		COMMAND xsltproc --stringparam l10n.gentext.default.language ${HANDBOOK_LOCALE_LANG} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/docs/docs.xsl ../docbook/index.docbook
534 by mgruner
266
		WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/docs/handbook/${HANDBOOK_LOCALE_LANG}/html/")
267
	ADD_DEPENDENCIES("handbook_${HANDBOOK_LOCALE_LANG}" "handbook_translations")
268
	ADD_DEPENDENCIES("handbook" "handbook_${HANDBOOK_LOCALE_LANG}")
269
ENDFOREACH(HANDBOOK_LOCALE_LANG ${HANDBOOK_LOCALE_LANGS})
270
######################################################
271
272
######################################################
273
# Update howto
523 by mgruner
Implemented a cool system for translation of howto and handbook using po4a
274
ADD_CUSTOM_TARGET("howto")
275
ADD_CUSTOM_TARGET("howto_translations"
534 by mgruner
276
	COMMAND po4a -v --no-backups -k 0 cmake/docs/howto_po4a.conf
523 by mgruner
Implemented a cool system for translation of howto and handbook using po4a
277
	WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
278
ADD_DEPENDENCIES("howto" "howto_translations")
534 by mgruner
279
280
FOREACH(HOWTO_LOCALE_LANG ${HOWTO_LOCALE_LANGS} "en")
281
	ADD_CUSTOM_TARGET("howto_${HOWTO_LOCALE_LANG}"
282
		COMMAND xsltproc "${CMAKE_CURRENT_SOURCE_DIR}/cmake/docs/docs.xsl" "../docbook/index.docbook"
283
		WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/docs/howto/${HOWTO_LOCALE_LANG}/html/")
284
	ADD_DEPENDENCIES("howto_${HOWTO_LOCALE_LANG}" "howto_translations")
285
	ADD_DEPENDENCIES("howto" "howto_${HOWTO_LOCALE_LANG}")
286
ENDFOREACH(HOWTO_LOCALE_LANG ${HOWTO_LOCALE_LANGS})
287
523 by mgruner
Implemented a cool system for translation of howto and handbook using po4a
288
######################################################
465 by mgruner
reworked locale system to use QT's locale mechanism tr() instead of KDE's i18n()
289
290
######################################################
293 by mgruner
-added gettext detection and catalog installation; i18n doesn't seem to be functional yet in my kde4 installation / i cannot specify a KDE language to use
291
# "make uninstall" target; see http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F
292
#
293
CONFIGURE_FILE(
294
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
295
  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
341 by mgruner
-set required sword version to 1.5.10
296
  IMMEDIATE @ONLY
297
 )
293 by mgruner
-added gettext detection and catalog installation; i18n doesn't seem to be functional yet in my kde4 installation / i cannot specify a KDE language to use
298
ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
398 by mgruner
-split build.sh into build-release.sh and build-debug.sh with separate configurations
299
######################################################
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
300
301
302
######################################################
303
# This is the CPack section
304
# Copied and modified from http://www.vtk.org/Wiki/CMake:Packaging_With_CPack
305
306
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "BibleTime for Windows Beta")
307
SET(CPACK_PACKAGE_VENDOR "http://www.bibletime.info")
308
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
1136 by mgruner
release 2.1.beta1
309
SET(CPACK_PACKAGE_VERSION_MINOR "1")
310
SET(CPACK_PACKAGE_VERSION_PATCH "0beta1")
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
311
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "BibleTime")
312
313
######################################################
314
# Windows segment
315
######################################################
316
IF(WIN32 AND NOT UNIX)
317
  SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
318
  SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
319
  # There is a bug in NSI that does not handle full unix paths properly. Make
320
  # sure there is at least one set of four (4) backlasshes.
1043 by mgruner
relocated platform-specific files to proper folder
321
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
322
  # We need the libraries, and they're not pulled in automatically
323
  INCLUDE(${QT_USE_FILE})
324
  IF(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
325
    SET(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
326
    INSTALL(FILES
327
			"${QT_LIBRARY_DIR}/QtWebKitd4.dll"
328
			"${QT_LIBRARY_DIR}/QtGuid4.dll"
329
			"${QT_LIBRARY_DIR}/QtXmld4.dll"
330
			"${QT_LIBRARY_DIR}/QtTestd4.dll"
331
			"${QT_LIBRARY_DIR}/QtNetworkd4.dll"
332
			"${QT_LIBRARY_DIR}/QtCored4.dll"
333
			"${QT_LIBRARY_DIR}/phonond4.dll"
334
			"${QT_LIBRARY_DIR}/QtSvgd4.dll"
335
			DESTINATION "${BT_DESTINATION}"
336
	)
337
  ELSE(NOT CMAKE_BUILD_TYPE STREQAL "Release")
338
    INSTALL(FILES
339
			"${QT_LIBRARY_DIR}/QtWebKit4.dll"
340
			"${QT_LIBRARY_DIR}/QtGui4.dll"
341
			"${QT_LIBRARY_DIR}/QtXml4.dll"
342
			"${QT_LIBRARY_DIR}/QtNetwork4.dll"
343
			"${QT_LIBRARY_DIR}/QtCore4.dll"
344
			"${QT_LIBRARY_DIR}/phonon4.dll"
345
			"${QT_LIBRARY_DIR}/QtSvg4.dll"
346
			DESTINATION "${BT_DESTINATION}")
347
  ENDIF(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
1043 by mgruner
relocated platform-specific files to proper folder
348
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
349
  # This adds in the required Windows system libraries and libsword.dll
350
  INCLUDE(InstallRequiredSystemLibraries)
351
  STRING(REPLACE ".lib" ".dll" SWORD_DLL "${SWORD_LIBRARY}")
352
  INSTALL(FILES ${SWORD_DLL} DESTINATION ${BT_DESTINATION}) # This will also take effect in the regular install
1043 by mgruner
relocated platform-specific files to proper folder
353
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
354
  # Some options for the CPack system.  These should be pretty self-evident
355
  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/pics/icons\\\\bibletime.png")
356
  SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\bibletime.exe")
357
  SET(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} for Windows")
358
  SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.bibletime.info")
359
  SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.bibletime.info")
360
  SET(CPACK_NSIS_CONTACT "bt-devel@crosswire.org")
361
  SET(CPACK_NSIS_MODIFY_PATH OFF)
362
  SET(CPACK_GENERATOR "NSIS")
363
####################################
364
#   Apple Segment
365
####################################
366
ELSEIF(APPLE)
367
  INCLUDE(${QT_USE_FILE})
368
  SET(QT_FRAMEWORKS_USED "QtWebKit"
369
  			 "QtGui"
370
			 "QtXml"
371
			 "QtTest"
372
			 "QtNetwork"
373
			 "QtCore"
374
			 "QtSvg")
375
  FOREACH(QT_FRAME ${QT_FRAMEWORKS_USED})
376
    INSTALL(DIRECTORY
377
            "${QT_LIBRARY_DIR}/${QT_FRAME}.framework"
378
            DESTINATION "${BT_DESTINATION}/../Library/Frameworks/")
379
  ENDFOREACH(QT_FRAME ${QT_FRAMEWORKS_USED})
380
  # Other libraries I need
1043 by mgruner
relocated platform-specific files to proper folder
381
  INSTALL(FILES "${CLUCENE_LIBRARY}" "${CLUCENE_LIBRARY_DIR}/libclucene.0.0.0.dylib" "${CLUCENE_LIBRARY_DIR}/libclucene.0.dylib" "/opt/local/lib/libcurl.4.dylib"
1126 by hellings
If built with MacPorts' version of ICU (4.0), it is necessary to
382
   	        "/opt/local/lib/libssl.0.9.8.dylib" "/opt/local/lib/libcrypto.0.9.8.dylib" "/opt/local/lib/libicui18n.40.dylib" "/opt/local/lib/libicui18n.40.0.dylib"
383
		"/opt/local/lib/libicuuc.40.dylib" "/opt/local/lib/libicuuc.40.0.dylib" "/opt/local/lib/libicuio.40.dylib" "/opt/local/lib/libicuio.40.0.dylib"
384
		"/opt/local/lib/libicudata.40.dylib" "/opt/local/lib/libicudata.40.0.dylib"
1098 by hellings
Working out some issues with detection and packaging on OS X (still outstanding link problems).
385
		"/opt/local/lib/libpng12.0.dylib"
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
386
          DESTINATION "${BT_DESTINATION}/../Library")
1043 by mgruner
relocated platform-specific files to proper folder
387
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
388
  # Qt Plugins
389
  INSTALL(DIRECTORY "${QT_PLUGINS_DIR}/iconengines" "${QT_PLUGINS_DIR}/imageformats" DESTINATION "${BT_DESTINATION}/../../plugins")
390
  # A file to execute that might get rid of the above mess
1043 by mgruner
relocated platform-specific files to proper folder
391
  SET(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/cmake/platforms/macos/bt_start.sh")
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
392
  SET(CPACK_BUNDLE_NAME "BibleTime")
393
  SET(CPACK_PACKAGE_FILE_NAME "BibleTime_Mac_Beta")
1043 by mgruner
relocated platform-specific files to proper folder
394
  SET(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/cmake/platforms/macos/Info.plist")
395
  SET(CPACK_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/cmake/platforms/macos/BibleTime.icns")
396
  SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/cmake/platforms/macos/BibleTime.icns")
1032 by hellings
Initial support for CPack for Mac and windows, including Mac-specific helper files
397
  SET(CPACK_GENERATOR "Bundle")
398
ENDIF(WIN32 AND NOT UNIX)
399
400
SET(CPACK_PACKAGE_EXECUTABLES "bibletime" "BibleTime")
401
402
INCLUDE(CPack)