~ubuntu-branches/ubuntu/wily/scribus/wily-proposed

« back to all changes in this revision

Viewing changes to .pc/top_CMakeLists.txt/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Oleksandr Moskalenko
  • Date: 2012-02-09 21:50:56 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20120209215056-2wrx1ara0jbm7fi5
Tags: 1.4.0.dfsg+r17287-1
* New upstream stable release upload into Debian (Closes: #654703).
* Applied the Ubuntu armel patch.
* Removed non-free color swatches from resources.
* debian/control:
  - Moved icc-profiles from Recommends to Suggests (Closes: #655885).
  - Updated Standards-Version to 3.9.2.
  - Updated extended description per lintian warning.
* debian/rules:
  - Update mailcap (Closes: #630751). A request for mime.types update has
    been sent to the mime-support maintainer.
  - Added build-arch and build-indep targets per lintian warning.
* debian/patches:
  - top_cmakelists.patch - don't copy extra docs and changelogs.
  - scribus_cmakelists.patch - don't copy extra docs and changelogs.
  - scribus_cmakelists.patch - don't install the non-free "doc" dir.
  - profiles_cmakelists.patch - don't install non-free sRGB profile.
* debian/copyright: 
  - Converted to the DEP5 machine readable foramt.
  - Added licenses for free color swatches.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
##############################################################################################################
2
 
########## CMake Setup                                                                              ##########
3
 
 
4
 
#Set our CMake minimum version
5
 
#Require 2.4.2 for Qt finding
6
 
#Require 2.4.3 for moc change detection and rpath updates for custom cairo install
7
 
#its not likely 2.4.x will work any more
8
 
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR)
9
 
 
10
 
#IF(WIN32)
11
 
#  IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.6)
12
 
#    MESSAGE(FATAL_ERROR "Windows builds require CMake 2.6")
13
 
#  ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.6)
14
 
#ENDIF(WIN32)
15
 
 
16
 
#Pretty colors
17
 
SET(CMAKE_COLOR_MAKEFILE ON)
18
 
#Dont force verbose
19
 
SET(CMAKE_VERBOSE_MAKEFILE OFF)
20
 
#Include current dir
21
 
SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
22
 
 
23
 
#RPATH setup - more below too
24
 
IF (WANT_NORPATH OR WANT_DISTROBUILD)
25
 
    SET(CMAKE_SKIP_RPATH TRUE)
26
 
ELSE (WANT_NORPATH OR WANT_DISTROBUILD)
27
 
    SET(CMAKE_SKIP_BUILD_RPATH TRUE)
28
 
    SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
29
 
    SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
30
 
    SET(CMAKE_SKIP_RULE_DEPENDENCY TRUE)
31
 
ENDIF (WANT_NORPATH OR WANT_DISTROBUILD)
32
 
 
33
 
INCLUDE(CheckIncludeFile)
34
 
INCLUDE(CheckCCompilerFlag)
35
 
INCLUDE(CheckCXXCompilerFlag)
36
 
INCLUDE(CheckTypeSize)
37
 
INCLUDE(TestBigEndian)
38
 
 
39
 
#Set the custom CMake module directory where our include/lib finders are
40
 
SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
41
 
 
42
 
##############################################################################################################
43
 
########## toplevel compiler flags                                                                  ##########
44
 
 
45
 
# CHECK_C_COMPILER_FLAG(" ${CMAKE_SHARED_LIBRARY_C_FLAGS}" C_HAVE_PIC)
46
 
# CHECK_CXX_COMPILER_FLAG(" ${CMAKE_SHARED_LIBRARY_C_FLAGS}" CXX_HAVE_PIC)
47
 
# IF (CXX_HAVE_PIC AND C_HAVE_PIC)
48
 
#     SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_SHARED_LIBRARY_C_FLAGS}")
49
 
#     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_SHARED_LIBRARY_C_FLAGS}")
50
 
# ELSE (CXX_HAVE_PIC AND C_HAVE_PIC)
51
 
#     MESSAGE(FATAL_ERROR "Shared library support is missing")
52
 
# ENDIF (CXX_HAVE_PIC AND C_HAVE_PIC)
53
 
 
54
 
# SET(CMAKE_SHARED_MODULE_LINK_FLAGS "${CMAKE_SHARED_MODULE_LINK_FLAGS} -export-dynamic")
55
 
# SET(CMAKE_SHARED_MODULE_LINK_CXX_FLAGS "${CMAKE_SHARED_MODULE_LINK_CXX_FLAGS} -export-dynamic")
56
 
# SET(CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS} -export-dynamic")
57
 
# SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -export-dynamic")
58
 
# MESSAGE(STATUS ${CMAKE_SHARED_MODULE_LINK_FLAGS})
59
 
# MESSAGE(STATUS ${CMAKE_SHARED_MODULE_LINK_CXX_FLAGS})
60
 
# MESSAGE(STATUS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
61
 
# MESSAGE(STATUS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS})
62
 
# MESSAGE(STATUS ${CMAKE_CXX_CREATE_SHARED_MODULE})
63
 
# MESSAGE(STATUS ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
64
 
 
65
 
#IMPORT FROM COMMANDLINE
66
 
# SET with cmake -DWANT_CAIRO=1, etc
67
 
# MESSAGE(STATUS ${WANT_CAIRO})
68
 
# MESSAGE(STATUS ${WANT_LIBART})
69
 
# MESSAGE(STATUS ${WANT_DEBUG})
70
 
 
71
 
# SET(WANT_CAIRO 0)
72
 
# SET(WANT_LIBART 1)
73
 
 
74
 
#Project Setup
75
 
PROJECT(scribus)
76
 
#Set our version values
77
 
#Final version is ${VERSION} = ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_SUFFIX}
78
 
#where VERSION_SUFFIX is of the form "", "svn" or "Nsvn" (N being the minor patch level)
79
 
SET (VERSION_MAJOR "1")
80
 
SET (VERSION_MINOR "4")
81
 
SET (VERSION_PATCH "0")
82
 
SET (VERSION_SUFFIX "rc3")
83
 
SET (VERSION ${VERSION_MAJOR})
84
 
IF (VERSION_MINOR GREATER -1)
85
 
  SET (VERSION ${VERSION}.${VERSION_MINOR})
86
 
ENDIF (VERSION_MINOR GREATER -1)
87
 
IF (VERSION_PATCH GREATER -1)
88
 
  SET (VERSION ${VERSION}.${VERSION_PATCH})
89
 
ENDIF (VERSION_PATCH GREATER -1)
90
 
IF (VERSION_SUFFIX)
91
 
  SET (VERSION ${VERSION}.${VERSION_SUFFIX})
92
 
ENDIF (VERSION_SUFFIX)
93
 
MESSAGE(STATUS "Scribus ${VERSION} will be built to install into ${CMAKE_INSTALL_PREFIX}")
94
 
 
95
 
#Set the permissions to be used when installing plugins
96
 
SET(PLUGIN_PERMISSIONS WORLD_EXECUTE GROUP_EXECUTE OWNER_EXECUTE WORLD_READ GROUP_READ OWNER_READ OWNER_WRITE)
97
 
 
98
 
#Our main directory is scribus
99
 
SET(MAIN_DIR_NAME "scribus")
100
 
 
101
 
##############################################################################################################
102
 
########## check for the CPU we build for                                                           ##########
103
 
 
104
 
EXECUTE_PROCESS(
105
 
    COMMAND ${CMAKE_C_COMPILER} -dumpmachine
106
 
    OUTPUT_VARIABLE MACHINE
107
 
    OUTPUT_STRIP_TRAILING_WHITESPACE
108
 
)
109
 
 
110
 
MESSAGE(STATUS  "Machine: ${MACHINE}, void pointer size: ${CMAKE_SIZEOF_VOID_P}")
111
 
STRING(REGEX MATCH "(i?86-*)|(athlon-*)|(pentium-*)" _machine_x86 "${MACHINE}")
112
 
IF (_machine_x86)
113
 
    MESSAGE(STATUS "Found target X86")
114
 
    SET(ARCH_X86 1)
115
 
ENDIF (_machine_x86)
116
 
IF (APPLE AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND ARCH_X86 EQUAL 1)
117
 
  MESSAGE(STATUS "Found Snow Leopard Target: Apple, 64 bit, X86")
118
 
  UNSET(ARCH_X86)
119
 
  SET(ARCH_X86_64 1)
120
 
  SET(APPLE_10_6_X 1 CACHE TYPE BOOL)
121
 
ENDIF (APPLE AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND ARCH_X86 EQUAL 1)
122
 
 
123
 
STRING(REGEX MATCH "(x86_64-*)|(X86_64-*)|(AMD64-*)|(amd64-*)" _machine_x86_64 "${MACHINE}")
124
 
IF (_machine_x86_64)
125
 
    MESSAGE(STATUS "Found target X86_64")
126
 
    SET(ARCH_X86_64 1)
127
 
ENDIF (_machine_x86_64)
128
 
 
129
 
STRING(REGEX MATCH "(sparc64-*)|(SPARC64-*)" _machine_sparc_64 "${MACHINE}")
130
 
IF (_machine_sparc_64)
131
 
    MESSAGE(STATUS "Found target SPARC 64")
132
 
    SET(ARCH_SPARC_64 1)
133
 
ENDIF (_machine_sparc_64)
134
 
 
135
 
STRING(REGEX MATCH "(mips64-*)|(MIPS64-*)" _machine_mips_64 "${MACHINE}")
136
 
IF (_machine_mips_64)
137
 
    MESSAGE(STATUS "Found target MIPS 64")
138
 
    SET(ARCH_MIPS_64 1)
139
 
ENDIF (_machine_mips_64)
140
 
 
141
 
STRING(REGEX MATCH "(mips-*)|(MIPS-*)" _machine_mips "${MACHINE}")
142
 
IF (_machine_mips)
143
 
    MESSAGE(STATUS "Found target MIPS")
144
 
    SET(ARCH_MIPS 1)
145
 
ENDIF (_machine_mips)
146
 
 
147
 
STRING(REGEX MATCH "(hppa-*)" _machine_hppa "${MACHINE}")
148
 
IF (_machine_hppa)
149
 
    MESSAGE(STATUS "Found target HPPA")
150
 
    SET(ARCH_HPPA 1)
151
 
ENDIF (_machine_hppa)
152
 
 
153
 
STRING(REGEX MATCH "(ppc-*)|(powerpc-*)" _machine_ppc "${MACHINE}")
154
 
IF (_machine_ppc)
155
 
    MESSAGE(STATUS "Found target PPC")
156
 
    SET(ARCH_PPC 1)
157
 
ENDIF (_machine_ppc)
158
 
 
159
 
STRING(REGEX MATCH "(ppc64-*)|(PPC64-*)|(powerpc64-*)" _machine_ppc_64 "${MACHINE}")
160
 
IF (_machine_ppc_64)
161
 
    MESSAGE(STATUS "Found target PPC64")
162
 
    SET(ARCH_PPC_64 1)
163
 
ENDIF (_machine_ppc_64)
164
 
 
165
 
STRING(REGEX MATCH "(sparc-*)" _machine_sparc "${MACHINE}")
166
 
IF (_machine_sparc)
167
 
    MESSAGE(STATUS "Found target Sparc")
168
 
    SET(ARCH_SPARC 1)
169
 
ENDIF (_machine_sparc)
170
 
 
171
 
STRING(REGEX MATCH "(sparcv9-*)" _machine_sparcv9 "${MACHINE}")
172
 
IF (_machine_sparcv9)
173
 
    MESSAGE(STATUS "Found target Sparc v9")
174
 
    SET(ARCH_SPARCV9 1)
175
 
ENDIF (_machine_sparcv9)
176
 
 
177
 
STRING(REGEX MATCH "(sparc64-*)" _machine_sparc64 "${MACHINE}")
178
 
IF (_machine_sparc64)
179
 
    MESSAGE(STATUS "Found target Sparc64")
180
 
    SET(ARCH_SPARC64 1)
181
 
    SET(ARCH64BIT 1)
182
 
ENDIF (_machine_sparc64)
183
 
 
184
 
#convert any 64 bit build into generic 64 tag for below
185
 
IF (ARCH_X86_64 OR ARCH_SPARC_64 OR ARCH_MIPS_64 OR ARCH_PPC_64) 
186
 
  SET(ARCH64BIT 1)
187
 
ENDIF (ARCH_X86_64 OR ARCH_SPARC_64 OR ARCH_MIPS_64 OR ARCH_PPC_64) 
188
 
 
189
 
MESSAGE(STATUS "Building for target ${MACHINE}")
190
 
 
191
 
##############################################################################################################
192
 
########## Versioning Setup                                                                         ##########
193
 
 
194
 
#On Apple, we ignore the versioning tag so all items are "scribus" not "scribus-version"
195
 
IF (NOT BUILD_OSX_BUNDLE)
196
 
  SET(BUILD_OSX_BUNDLE ${APPLE} CACHE TYPE BOOL)
197
 
ENDIF (NOT BUILD_OSX_BUNDLE)
198
 
 
199
 
#Simplify future conditionals for Apple
200
 
IF (APPLE AND BUILD_OSX_BUNDLE)
201
 
  SET(APPLEBUNDLE TRUE CACHE TYPE BOOL)
202
 
ENDIF (APPLE AND BUILD_OSX_BUNDLE)
203
 
 
204
 
#Announce we cached a version request before, overridden below for OSX
205
 
IF(TAG_VERSION)
206
 
  IF (NOT APPLEBUNDLE)
207
 
    MESSAGE(STATUS "Previously selected version tag: ${TAG_VERSION}")
208
 
  ENDIF (NOT APPLEBUNDLE)
209
 
  SET(WANT_VERSIONING 1)
210
 
  SET(CACHED_VERSIONING 1)
211
 
ENDIF(TAG_VERSION)
212
 
 
213
 
#Remove version tags on OSX so our bundle is Scribus.app
214
 
IF (APPLEBUNDLE)
215
 
  IF (WANT_VERSIONING OR CACHED_VERSIONING)
216
 
    MESSAGE(STATUS "Ignoring version tag on OSX when building bundle")
217
 
    SET(WANT_VERSIONING 0)
218
 
    SET(CACHED_VERSIONING 0)
219
 
  ENDIF (WANT_VERSIONING OR CACHED_VERSIONING)
220
 
ENDIF (APPLEBUNDLE)
221
 
 
222
 
#Store our version string if require
223
 
IF (WANT_VERSIONING AND NOT CACHED_VERSIONING)
224
 
  IF (NOT CUSTOM_VERSIONTAG)
225
 
    SET(TAG_VERSION "-${VERSION}" CACHE TYPE STRING)
226
 
  ELSE (NOT CUSTOM_VERSIONTAG)
227
 
    SET(TAG_VERSION ${CUSTOM_VERSIONTAG} CACHE TYPE STRING)
228
 
  ENDIF (NOT CUSTOM_VERSIONTAG)
229
 
ENDIF (WANT_VERSIONING AND NOT CACHED_VERSIONING)
230
 
 
231
 
##############################################################################################################
232
 
########## Install/Directory Setup                                                                  ##########
233
 
 
234
 
IF (APPLEBUNDLE)
235
 
  IF ("${CMAKE_INSTALL_PREFIX}" MATCHES "[.]app/Contents/?$")
236
 
    # all ok
237
 
  ELSE ("${CMAKE_INSTALL_PREFIX}" MATCHES "[.]app/Contents/?$")
238
 
    IF ("${CMAKE_INSTALL_PREFIX}" MATCHES "[.]app/?$")
239
 
      # add "/Contents" subpath
240
 
      SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/Contents")
241
 
    ELSE ("${CMAKE_INSTALL_PREFIX}" MATCHES "[.]app/?$")
242
 
      # no bundle name spcified, use appname and version
243
 
      SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/Scribus${VERSION}.app/Contents")
244
 
    ENDIF ("${CMAKE_INSTALL_PREFIX}" MATCHES "[.]app/?$")
245
 
  ENDIF ("${CMAKE_INSTALL_PREFIX}" MATCHES "[.]app/Contents/?$")
246
 
 
247
 
  MESSAGE(STATUS "APPLEBUNDLE install prefix: ${CMAKE_INSTALL_PREFIX}")
248
 
ENDIF (APPLEBUNDLE)
249
 
 
250
 
 
251
 
#Setp all the directories we will use
252
 
#MAN
253
 
CMAKE_POLICY(SET CMP0005 OLD)
254
 
SET(MANDIR "share/man/")
255
 
IF(WANT_VERSIONING)
256
 
    SET(SHAREDIR "share/${MAIN_DIR_NAME}${TAG_VERSION}/")
257
 
ELSE(WANT_VERSIONING)
258
 
    SET(SHAREDIR "share/${MAIN_DIR_NAME}/")
259
 
ENDIF(WANT_VERSIONING)
260
 
ADD_DEFINITIONS("-DSHAREDIR=\\\"${CMAKE_INSTALL_PREFIX}/${SHAREDIR}\\\"")
261
 
 
262
 
#SHARE - use the default on Apple as TAG_VERSION is empty
263
 
IF(WIN32 OR OS2)
264
 
  SET(DOCDIR "share/doc/")
265
 
ELSE (WIN32 OR OS2)
266
 
  IF(TAG_VERSION OR BUILD_OSX_BUNDLE)
267
 
    SET(DOCDIR "share/doc/${MAIN_DIR_NAME}${TAG_VERSION}/")
268
 
  ELSE(TAG_VERSION OR BUILD_OSX_BUNDLE)
269
 
        IF(NOT WANT_VERSIONING)
270
 
            SET(DOCDIR "share/doc/${MAIN_DIR_NAME}/")
271
 
        ELSE(NOT WANT_VERSIONING)
272
 
            SET(DOCDIR "share/doc/${MAIN_DIR_NAME}-${VERSION}/")
273
 
        ENDIF(NOT WANT_VERSIONING)
274
 
  ENDIF (TAG_VERSION OR BUILD_OSX_BUNDLE)
275
 
ENDIF (WIN32 OR OS2)
276
 
ADD_DEFINITIONS("-DDOCDIR=\\\"${CMAKE_INSTALL_PREFIX}/${DOCDIR}\\\"")
277
 
 
278
 
#ICON
279
 
IF(WIN32)
280
 
  SET(ICONDIR "share/icons/")
281
 
ELSE(WIN32)
282
 
  SET(ICONDIR "share/${MAIN_DIR_NAME}${TAG_VERSION}/icons/")
283
 
ENDIF(WIN32)
284
 
ADD_DEFINITIONS("-DICONDIR=\\\"${CMAKE_INSTALL_PREFIX}/${ICONDIR}\\\"")
285
 
 
286
 
#SAMPLES
287
 
SET(SAMPLESDIR "share/${MAIN_DIR_NAME}${TAG_VERSION}/samples/")
288
 
ADD_DEFINITIONS("-DSAMPLESDIR=\\\"${CMAKE_INSTALL_PREFIX}/${SAMPLESDIR}\\\"")
289
 
 
290
 
#SCRIPTS
291
 
SET(SCRIPTSDIR "share/${MAIN_DIR_NAME}${TAG_VERSION}/scripts/")
292
 
ADD_DEFINITIONS("-DSCRIPTSDIR=\\\"${CMAKE_INSTALL_PREFIX}/${SCRIPTSDIR}\\\"")
293
 
 
294
 
#TEMPLATES
295
 
IF(WIN32)
296
 
  SET(TEMPLATEDIR "share/templates/")
297
 
ELSE(WIN32)
298
 
  SET(TEMPLATEDIR "share/${MAIN_DIR_NAME}${TAG_VERSION}/templates/")
299
 
ENDIF(WIN32)
300
 
ADD_DEFINITIONS("-DTEMPLATEDIR=\\\"${CMAKE_INSTALL_PREFIX}/${TEMPLATEDIR}\\\"")
301
 
 
302
 
#DESKTOP
303
 
SET(DESKTOPDIR "share/applications/")
304
 
ADD_DEFINITIONS("-DDESKTOPDIR=\\\"${CMAKE_INSTALL_PREFIX}/${DESKTOPDIR}\\\"")
305
 
 
306
 
# APPLICATION_DATA_DIR
307
 
# It allows specify the user configuration directory in the compile time.
308
 
# Example: I want to use special ~/.scribus135svn config directory for my trunk
309
 
#          cmake -DAPPLICATION_DATA_DIR=.scribus135svn ...
310
 
IF (APPLICATION_DATA_DIR)
311
 
        MESSAGE(STATUS "Using ApplicationDataDir ${APPLICATION_DATA_DIR} instead of the platform default.")
312
 
    ADD_DEFINITIONS("-DAPPLICATION_DATA_DIR=\\\"${APPLICATION_DATA_DIR}\\\"")
313
 
ELSE (APPLICATION_DATA_DIR)
314
 
    MESSAGE(STATUS "Using standard ApplicationDataDir. You can change it with -DAPPLICATION_DATA_DIR")
315
 
ENDIF (APPLICATION_DATA_DIR)
316
 
 
317
 
#LIB LOCATION - lib or lib64 normally
318
 
#LIB
319
 
IF(WANT_LIB64)
320
 
  IF(NOT ARCH_X86_64)
321
 
    MESSAGE(STATUS "WARNING: BUILDING 64 Bit build on non 64 bit architecture")
322
 
  ENDIF(NOT ARCH_X86_64)
323
 
  SET(LIB_SUFFIX "64" CACHE TYPE STRING)
324
 
ENDIF(WANT_LIB64)
325
 
SET(LIB_DIR_NAME "lib${LIB_SUFFIX}")
326
 
SET(LIBDIR "${LIB_DIR_NAME}/${MAIN_DIR_NAME}${TAG_VERSION}/")
327
 
ADD_DEFINITIONS("-DLIBDIR=\\\"${CMAKE_INSTALL_PREFIX}/${LIBDIR}\\\"")
328
 
 
329
 
#PLUGINS
330
 
IF(WIN32)
331
 
  SET(PLUGINDIR "plugins")
332
 
ELSE(WIN32)
333
 
  SET(PLUGINDIR "${LIB_DIR_NAME}/${MAIN_DIR_NAME}${TAG_VERSION}/plugins/")
334
 
ENDIF(WIN32)
335
 
ADD_DEFINITIONS("-DPLUGINDIR=\\\"${CMAKE_INSTALL_PREFIX}/${PLUGINDIR}\\\"")
336
 
 
337
 
#INCLUDE
338
 
SET(INCLUDEDIR "include/${MAIN_DIR_NAME}${TAG_VERSION}/")
339
 
#NO ADD DEFINITIONS, WE ONLY INSTALL WITH IT
340
 
 
341
 
#RPATH
342
 
IF (WANT_NORPATH OR WANT_DISTROBUILD)
343
 
  set(CMAKE_INSTALL_RPATH "")
344
 
ELSE (WANT_NORPATH OR WANT_DISTROBUILD)
345
 
  set(CMAKE_INSTALL_RPATH ${PLUGINDIR})
346
 
ENDIF (WANT_NORPATH OR WANT_DISTROBUILD)
347
 
 
348
 
# Set the XDG mime stuff
349
 
SET(MIMEDIR "share/mime/packages/")
350
 
SET(MIMELNKDIR "share/mimelnk/application/")
351
 
 
352
 
##############################################################################################################
353
 
########## Build Setup                                                                              ##########
354
 
 
355
 
#Convert our simpler command line option to the CMake style
356
 
#None, Debug, Release, .. or custom ones
357
 
# SET(WANT_DEBUG 1)
358
 
IF(WANT_DEBUG)
359
 
  SET(CMAKE_BUILD_TYPE Debug)
360
 
ENDIF(WANT_DEBUG)
361
 
IF (WANT_RELEASEWITHDEBUG)
362
 
  SET(CMAKE_BUILD_TYPE RelWithDebInfo)
363
 
ENDIF (WANT_RELEASEWITHDEBUG)
364
 
IF(NOT WANT_DEBUG AND NOT WANT_RELEASEWITHDEBUG)
365
 
  SET(CMAKE_BUILD_TYPE RELEASE)
366
 
ENDIF(NOT WANT_DEBUG AND NOT WANT_RELEASEWITHDEBUG)
367
 
 
368
 
 
369
 
 
370
 
#Based on our build type, setup our build options
371
 
IF(APPLE)
372
 
  IF(APPLE_10_6_X)
373
 
    SET(OSXMINVER "10.6" CACHE TYPE STRING)
374
 
  ELSE(APPLE_10_6_X)
375
 
    SET(OSXMINVER "10.4" CACHE TYPE STRING)
376
 
  ENDIF(APPLE_10_6_X)
377
 
  # gcc/mac
378
 
  IF(WANT_UNIVERSAL_BUNDLE)
379
 
    MESSAGE("Setting Universal (PPC/i386) Architecture for OSX Build/Bundle")
380
 
    SET(CMAKE_OSX_ARCHITECTURES "ppc;i386" )
381
 
    SET(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES "ppc;i386" )
382
 
    SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.4")
383
 
    SET(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk")
384
 
  ELSE(WANT_UNIVERSAL_BUNDLE)
385
 
    IF(ARCH_PPC OR ARCH_PPC_64)
386
 
      MESSAGE("Setting PPC Architecture for OSX Build/Bundle")
387
 
      SET(CMAKE_OSX_ARCHITECTURES "ppc" )
388
 
      SET(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES "ppc" )
389
 
    ELSE(ARCH_PPC OR ARCH_PPC_64)
390
 
      IF(APPLE_10_6_X)
391
 
        MESSAGE("Setting x86_64 Architecture for OSX Build/Bundle")
392
 
        SET(CMAKE_OSX_ARCHITECTURES "x86_64" )
393
 
        SET(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES "x86_64" )
394
 
#        SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.6")
395
 
      ELSE(APPLE_10_6_X)
396
 
        MESSAGE("Setting i386 Architecture for OSX Build/Bundle")
397
 
        SET(CMAKE_OSX_ARCHITECTURES "i386" )
398
 
        SET(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES "i386" )
399
 
#        SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.4")
400
 
      ENDIF(APPLE_10_6_X)
401
 
    ENDIF(ARCH_PPC OR ARCH_PPC_64)
402
 
  ENDIF(WANT_UNIVERSAL_BUNDLE)
403
 
  MESSAGE(STATUS "${CMAKE_OSX_ARCHITECTURES} ${CMAKE_OSX_SYSROOT}")
404
 
  MESSAGE(STATUS "OSX Minimum Version: ${OSXMINVER}")
405
 
  SET(ENV{MACOSX_DEPLOYMENT_TARGET} ${OSXMINVER} )
406
 
  SET( ENV{LD_PREBIND} 1 )
407
 
  SET( ENV{LD_PREBIND_ALLOW_OVERLAP} 1 )
408
 
  IF (WANT_DEBUG)
409
 
    SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -fno-inline-functions -Wall -mmacosx-version-min=${OSXMINVER}")
410
 
    SET(CMAKE_C_FLAGS_DEBUG "-O0 -g3 -fno-inline-functions -Wall -mmacosx-version-min=${OSXMINVER}")
411
 
  ENDIF (WANT_DEBUG)
412
 
  IF (WANT_RELEASEWITHDEBUG)
413
 
    SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g3 -fno-inline-functions -Wall -mmacosx-version-min=${OSXMINVER}")
414
 
    SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g3 -fno-inline-functions -Wall -mmacosx-version-min=${OSXMINVER}")
415
 
  ENDIF (WANT_RELEASEWITHDEBUG)
416
 
  IF (NOT WANT_DEBUG AND NOT WANT_RELEASEWITHDEBUG)
417
 
    SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -fno-inline-functions -Wall -mmacosx-version-min=${OSXMINVER}")
418
 
    SET(CMAKE_C_FLAGS_RELEASE "-O2 -fno-inline-functions -Wall -mmacosx-version-min=${OSXMINVER}")
419
 
  ENDIF (NOT WANT_DEBUG AND NOT WANT_RELEASEWITHDEBUG)
420
 
ELSE(APPLE)
421
 
  IF(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
422
 
    # Windows build with Visual Studio
423
 
    # Surely there's a better way to identify the compiler?
424
 
    SET(CMAKE_CXX_FLAGS_DEBUG)
425
 
    SET(CMAKE_C_FLAGS_DEBUG)
426
 
  ELSE(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
427
 
    # vanilla gcc
428
 
    SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -Wall -fstrict-aliasing")
429
 
    SET(CMAKE_C_FLAGS_DEBUG "-O0 -g3 -Wall -fstrict-aliasing")
430
 
    
431
 
    IF (_machine_x86 OR _machine_x86_64)
432
 
      SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fPIC")
433
 
      SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fPIC")
434
 
    ENDIF (_machine_x86 OR _machine_x86_64)
435
 
    
436
 
  ENDIF(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
437
 
ENDIF(APPLE)
438
 
 
439
 
IF(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
440
 
  SET(CMAKE_CXX_FLAGS_RELEASE)
441
 
  SET(CMAKE_C_FLAGS_RELEASE)
442
 
ELSE(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
443
 
  SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -Wall -fPIC")
444
 
  SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall -fPIC")
445
 
  ADD_DEFINITIONS(-DNDEBUG)
446
 
ENDIF(${CMAKE_GENERATOR} MATCHES "^(Visual Studio|NMake).*")
447
 
 
448
 
IF(WIN32)
449
 
  ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN
450
 
                  -DAVOID_WIN32_FILEIO
451
 
                  -D_CRT_SECURE_NO_DEPRECATE
452
 
                  -DCOMPILE_PLUGIN_AS_DLL
453
 
  )
454
 
  SET(BUILD_WINDOWS_VERSION 1)
455
 
  SET(SC_USE_GDI 1)
456
 
  IF(NOT SC_SHOULD_NOT_USE_GDIPLUS)
457
 
    SET(SC_USE_GDIPLUS 1)
458
 
  ENDIF(NOT SC_SHOULD_NOT_USE_GDIPLUS)
459
 
  SET(DLL_USE_NATIVE_API 1)
460
 
ENDIF(WIN32)
461
 
 
462
 
##############################################################################################################
463
 
########## Find Dependencies                                                                        ##########
464
 
 
465
 
#<< Qt
466
 
SET (QT_MT_REQUIRED TRUE)
467
 
SET (QT_MIN_VERSION "4.6.0")
468
 
IF (WANT_QT4MAC_COCOA)
469
 
  SET (QT_MAC_USE_COCOA TRUE)
470
 
ELSE (WANT_QT4MAC_COCOA)
471
 
  SET (HAVE_CARBON 1 CACHE TYPE BOOL)
472
 
  ADD_DEFINITIONS("-DHAVE_CARBON=1")
473
 
ENDIF (WANT_QT4MAC_COCOA)
474
 
IF (WANT_QT3SUPPORT)
475
 
  SET (QT_USE_QT3SUPPORT TRUE)
476
 
ELSE (WANT_QT3SUPPORT)
477
 
  SET (QT_USE_QT3SUPPORT FALSE)
478
 
ENDIF (WANT_QT3SUPPORT)
479
 
SET (QT_USE_QTXML TRUE )
480
 
IF (APPLE)
481
 
  SET( QT_USE_QTSQL TRUE )
482
 
ENDIF (APPLE)
483
 
SET( QT_USE_QTNETWORK TRUE )
484
 
FIND_PACKAGE(Qt4 REQUIRED)
485
 
INCLUDE( ${QT_USE_FILE} )
486
 
IF (QT_FOUND)
487
 
  MESSAGE("Qt4 Found OK")
488
 
  IF (WANT_QT3SUPPORT)
489
 
    MESSAGE(STATUS "Building with Qt3 Support")
490
 
  ELSE (WANT_QT3SUPPORT)
491
 
    MESSAGE(STATUS "Building without Qt3 Support (GOOD)")
492
 
  ENDIF (WANT_QT3SUPPORT)
493
 
  #Add our Qt definitions
494
 
  ADD_DEFINITIONS(
495
 
    ${QT_DEFINITIONS}
496
 
    -DQT_CORE_LIB
497
 
    -DQT_GUI_LIB
498
 
    -DQT_THREAD_LIB
499
 
    -DQT_XML_LIB
500
 
  )
501
 
ELSE(QT_FOUND)
502
 
  MESSAGE(FATAL_ERROR "No Qt4 found")
503
 
ENDIF(QT_FOUND)
504
 
#>> Qt
505
 
 
506
 
#<< ZLIB, PNG
507
 
IF (WIN32)
508
 
  # On win32 we can use Qt's zlib and libpng, so we use some
509
 
  # custom cmake includes. This permits us to honour the 
510
 
  # USE_QT_ZLIB_PNGLIB flag if passed.
511
 
  SET(PNG_DIR ${CMAKE_MODULE_PATH})
512
 
  SET(ZLIB_DIR ${CMAKE_MODULE_PATH})
513
 
ENDIF (WIN32)
514
 
FIND_PACKAGE(ZLIB REQUIRED)
515
 
IF (ZLIB_FOUND)
516
 
  MESSAGE("ZLIB Library Found OK")
517
 
  SET(HAVE_LIBZ 1)
518
 
ENDIF(ZLIB_FOUND)
519
 
FIND_PACKAGE(PNG REQUIRED)
520
 
IF (PNG_FOUND)
521
 
  MESSAGE("PNG Library Found OK")
522
 
ENDIF(PNG_FOUND)
523
 
#>> ZLIB, PNG
524
 
 
525
 
#<< JPEG, TIFF, PYTHON
526
 
FIND_PACKAGE(JPEG REQUIRED)
527
 
IF (JPEG_FOUND)
528
 
  MESSAGE("JPEG Library Found OK")
529
 
ENDIF(JPEG_FOUND)
530
 
FIND_PACKAGE(TIFF REQUIRED)
531
 
IF (TIFF_FOUND)
532
 
  MESSAGE("TIFF Library Found OK")
533
 
  SET(HAVE_TIFF 1)
534
 
ELSE(TIFF_FOUND)
535
 
  MESSAGE(FATAL_ERROR "Could not find the TIFF Library")
536
 
ENDIF(TIFF_FOUND)
537
 
FIND_PACKAGE(PythonLibs REQUIRED)
538
 
IF (PYTHON_LIBRARY)
539
 
  MESSAGE("Python Library Found OK")
540
 
  SET(HAVE_PYTHON 1)
541
 
  SET(COMPILE_PYTHON 1)
542
 
ENDIF(PYTHON_LIBRARY)
543
 
#>> JPEG, TIFF, PYTHON
544
 
 
545
 
#<< FreeType2
546
 
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.6)
547
 
  SET(FREETYPE_DIR ${CMAKE_MODULE_PATH})
548
 
  FIND_PACKAGE(FREETYPE REQUIRED)
549
 
  IF (FREETYPE_FOUND)
550
 
    MESSAGE("FreeType2 Library Found OK")
551
 
    INCLUDE(CheckLibraryExists)
552
 
    CHECK_LIBRARY_EXISTS(${FREETYPE_LIBRARY} FT_Get_First_Char "" HAVE_FREETYPE_FIRST)
553
 
    CHECK_LIBRARY_EXISTS(${FREETYPE_LIBRARY} FT_Get_Next_Char "" HAVE_FREETYPE_NEXT)
554
 
  ENDIF(FREETYPE_FOUND)
555
 
  SET(CFLAGS "${CFLAGS}"."${LIBFREETYPE_CFLAGS}")
556
 
ELSE(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.6)
557
 
  FIND_PACKAGE(Freetype REQUIRED)
558
 
  IF (FREETYPE_FOUND)
559
 
    MESSAGE(STATUS "FreeType2 Library Found OK")
560
 
    INCLUDE(CheckLibraryExists)
561
 
    CHECK_LIBRARY_EXISTS(${FREETYPE_LIBRARY} FT_Get_First_Char "" HAVE_FREETYPE_FIRST)
562
 
    CHECK_LIBRARY_EXISTS(${FREETYPE_LIBRARY} FT_Get_Next_Char "" HAVE_FREETYPE_NEXT)
563
 
    # here we have an alternative
564
 
    # a) Setup CFLAGS with the FREETYPE_INCLUDE_DIR_freetype2 provided by cmake
565
 
    # b) Insert ${FREETYPE_INCLUDE_DIRS} in include sections of CMakeLists that need it
566
 
    # I prefer (b) and at some point & from my opinion it should  be just needed in scribus/fonts/CmakeLists.txt - pm
567
 
  ELSE (FREETYPE_FOUND)
568
 
    MESSAGE(FATAL_ERROR "No Freetype Found")
569
 
  ENDIF(FREETYPE_FOUND)
570
 
ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.6)
571
 
#>> FreeType2
572
 
 
573
 
#<<Render Library
574
 
# Select our rendering library
575
 
# As of Scribus 1.3.5, we can use cairo or Qt4's Arthur
576
 
# If we have a RENDER_LIB selected from a previous cmake run, then use it
577
 
# otherwise, we should be defaulting to Libart_LGPL for 1.3.4.x
578
 
IF(RENDER_LIB)
579
 
  MESSAGE(STATUS "Previously selected rendering system: ${RENDER_LIB}")
580
 
ELSE(RENDER_LIB)
581
 
  IF (NOT WANT_QTARTHUR)
582
 
    SET(WANT_CAIRO 1)
583
 
  ENDIF (NOT WANT_QTARTHUR)
584
 
ENDIF(RENDER_LIB)
585
 
 
586
 
IF (WANT_CAIRO OR RENDER_LIB STREQUAL "CAIRO")
587
 
  SET(CAIRO_DIR ${CMAKE_MODULE_PATH})
588
 
  FIND_PACKAGE(CAIRO)
589
 
  IF(CAIRO_FOUND)
590
 
    MESSAGE("CAIRO Library Found OK")
591
 
    SET(RENDER_LIB "CAIRO" CACHE TYPE STRING)
592
 
  ELSE(CAIRO_FOUND)
593
 
    SET(OLDRENDERLIBLOST TRUE)
594
 
  ENDIF(CAIRO_FOUND)
595
 
ENDIF (WANT_CAIRO OR RENDER_LIB STREQUAL "CAIRO")
596
 
 
597
 
#Cairo is required on Windows for printing system
598
 
IF (WIN32)
599
 
  IF (NOT CAIRO_FOUND)
600
 
    MESSAGE(FATAL_ERROR "Cairo >= 1.5.16 is required for Windows build")  
601
 
  ENDIF (NOT CAIRO_FOUND)
602
 
ENDIF (WIN32)
603
 
 
604
 
IF (OLDRENDERLIBLOST OR WANT_QTARTHUR OR RENDER_LIB STREQUAL "QTARTHUR" OR NOT RENDER_LIB)
605
 
  SET(RENDER_LIB "QTARTHUR" CACHE TYPE STRING)
606
 
  MESSAGE("Qt4's Arthur selected for renderer")
607
 
  IF (OLDRENDERLIBLOST)
608
 
    MESSAGE("CAIRO could no longer be found, replaced by Qt4's Arthur")
609
 
  ENDIF (OLDRENDERLIBLOST)
610
 
ENDIF (OLDRENDERLIBLOST OR WANT_QTARTHUR OR RENDER_LIB STREQUAL "QTARTHUR" OR NOT RENDER_LIB)
611
 
#>>Render Library
612
 
 
613
 
#<<CUPS
614
 
IF(NOT WIN32)
615
 
  IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
616
 
    SET(Cups_DIR ${CMAKE_MODULE_PATH})
617
 
  ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
618
 
  FIND_PACKAGE(Cups REQUIRED)
619
 
  IF(CUPS_FOUND)
620
 
    SET(HAVE_CUPS 1)
621
 
    MESSAGE("CUPS Library Found OK")
622
 
  ENDIF(CUPS_FOUND)
623
 
ELSE(NOT WIN32)
624
 
  # Windows doesn't use CUPS
625
 
  SET(CUPS_INCLUDE_DIR)
626
 
ENDIF(NOT WIN32)
627
 
#>>CUPS
628
 
 
629
 
#<<LibXML2
630
 
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
631
 
  SET(LibXml2_DIR ${CMAKE_MODULE_PATH})
632
 
ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.5)
633
 
FIND_PACKAGE(LibXml2 REQUIRED)
634
 
IF(LIBXML2_FOUND)
635
 
  SET(HAVE_XML 1)
636
 
  MESSAGE("LIBXML2 Library Found OK")
637
 
ENDIF(LIBXML2_FOUND)
638
 
#>>LibXML2
639
 
 
640
 
#<<LittleCMS
641
 
SET(LCMS_DIR ${CMAKE_MODULE_PATH})
642
 
FIND_PACKAGE(LCMS REQUIRED)
643
 
IF(LCMS_FOUND)
644
 
  SET(HAVE_CMS 1)
645
 
  SET(CMS_INC "lcms.h")
646
 
  MESSAGE("LittleCMS Library Found OK")
647
 
ELSE(LCMS_FOUND)
648
 
  MESSAGE(FATAL_ERROR "Could not find the LittleCMS Library")
649
 
ENDIF(LCMS_FOUND)
650
 
#>>LittleCMS
651
 
 
652
 
#<<FontConfig
653
 
IF(NOT WIN32)
654
 
  SET(FONTCONFIG_DIR ${CMAKE_MODULE_PATH})
655
 
  FIND_PACKAGE(FONTCONFIG)
656
 
  IF(FONTCONFIG_FOUND)
657
 
        MESSAGE("FontConfig Found OK")
658
 
        SET(HAVE_FONTCONFIG 1)
659
 
  ENDIF(FONTCONFIG_FOUND)
660
 
ELSE(NOT WIN32)
661
 
  # Windows builds neither use nor require fontconfig
662
 
  SET(FONTCONFIG_INCLUDE_DIR)
663
 
ENDIF(NOT WIN32)
664
 
#>>FontConfig
665
 
 
666
 
#<<ASPELL for Speelling support
667
 
OPTION(WITH_ASPELL "Enable support for spell checking" ON)
668
 
IF (WITH_ASPELL)
669
 
  FIND_PACKAGE(ASPELL)
670
 
  IF (ASPELL_FOUND)
671
 
    MESSAGE("ASpell Found OK")
672
 
    SET(HAVE_ASPELL 1)
673
 
  ELSE (ASPELL_FOUND)
674
 
    MESSAGE("ASpell or its developer libraries NOT found - Disabling support for spell checking")
675
 
  ENDIF (ASPELL_FOUND)
676
 
ENDIF (WITH_ASPELL)
677
 
#>>ASPELL for Speelling support
678
 
 
679
 
 
680
 
#<<PoDoFo for AI PDF import
681
 
OPTION(WITH_PODOFO "Enable support for PDF embedded in AI" ON)
682
 
IF (WITH_PODOFO)
683
 
  FIND_PACKAGE(LIBPODOFO)
684
 
  IF (LIBPODOFO_FOUND)
685
 
    MESSAGE("PoDoFo found OK")
686
 
    SET(HAVE_PODOFO 1)
687
 
  ELSE (LIBPODOFO_FOUND)
688
 
    MESSAGE("PoDoFo NOT found - Disabling support for PDF embedded in AI")
689
 
  ENDIF (LIBPODOFO_FOUND)
690
 
ENDIF (WITH_PODOFO)
691
 
#>>PoDoFo for AI PDF import
692
 
 
693
 
#<<HYPHEN for system hyphenation library
694
 
FIND_PACKAGE(HYPHEN)
695
 
IF(HYPHEN_FOUND)
696
 
  MESSAGE("system hyphenation library found OK")
697
 
  SET(HAVE_HYPHEN 1)
698
 
ELSE(HYPHEN_FOUND)
699
 
  MESSAGE("system hyphenation library NOT found - will use internal one")
700
 
ENDIF(HYPHEN_FOUND)
701
 
#>>HYPHEN for system hyphenation library
702
 
 
703
 
##############################################################################################################
704
 
########## Include Setup                                                                            ##########
705
 
 
706
 
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
707
 
  
708
 
CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
709
 
IF(HAVE_DLFCN_H)
710
 
  ADD_DEFINITIONS(-DHAVE_DLFCN_H)
711
 
ENDIF(HAVE_DLFCN_H)
712
 
 
713
 
CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
714
 
IF(HAVE_UNISTD_H)
715
 
  ADD_DEFINITIONS(-DHAVE_UNISTD_H)
716
 
ENDIF(HAVE_UNISTD_H)
717
 
 
718
 
CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
719
 
# IF(HAVE_SYS_TYPES_H)
720
 
#   ADD_DEFINITIONS(-DHAVE_SYS_TYPES_H)
721
 
# ENDIF(HAVE_SYS_TYPES_H)
722
 
 
723
 
CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
724
 
# IF(HAVE_SYS_STAT_H)
725
 
#   ADD_DEFINITIONS(-DHAVE_SYS_STAT_H)
726
 
# ENDIF(HAVE_SYS_STAT_H)
727
 
#>>Test for existing include files
728
 
 
729
 
 
730
 
#Create configure files.. config.h and uninstall
731
 
#config.h
732
 
INCLUDE (ConfigureChecks.cmake)
733
 
  IF(WIN32)
734
 
    SET(CONFIG_NAME win-config.h)
735
 
  ELSE(WIN32)
736
 
    SET(CONFIG_NAME config.h)
737
 
  ENDIF(WIN32)
738
 
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
739
 
ADD_DEFINITIONS("-DHAVE_CONFIG_H")
740
 
 
741
 
 
742
 
 
743
 
#Set up include dirs with all found packages
744
 
INCLUDE_DIRECTORIES(
745
 
  ${CMAKE_BINARY_DIR}
746
 
  ${CMAKE_BINARY_DIR}/scribus
747
 
  ${QT_INCLUDES}
748
 
  ${CUPS_INCLUDE_DIR}
749
 
  ${FREETYPE_INCLUDE_DIR}
750
 
  ${FONTCONFIG_INCLUDE_DIR}
751
 
  ${JPEG_INCLUDE_DIR}
752
 
  ${LCMS_INCLUDE_DIR}
753
 
  ${LIBXML2_INCLUDE_DIR}
754
 
  ${PYTHON_INCLUDE_PATH}
755
 
  ${TIFF_INCLUDE_DIR}
756
 
  ${ZLIB_INCLUDE_DIR}
757
 
)
758
 
 
759
 
##############################################################################################################
760
 
########## Uninstall Setup                                                                          ##########
761
 
 
762
 
CONFIGURE_FILE(
763
 
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
764
 
  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
765
 
  IMMEDIATE @ONLY
766
 
)
767
 
 
768
 
ADD_CUSTOM_TARGET(uninstall
769
 
  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
770
 
  
771
 
  
772
 
##############################################################################################################
773
 
########## Add our subdirs                                                                          ##########
774
 
 
775
 
#Add our source subdirs
776
 
ADD_SUBDIRECTORY(scribus)
777
 
ADD_SUBDIRECTORY(resources/dicts)
778
 
ADD_SUBDIRECTORY(resources/editorconfig)
779
 
ADD_SUBDIRECTORY(resources/icons)
780
 
ADD_SUBDIRECTORY(resources/keysets)
781
 
ADD_SUBDIRECTORY(resources/loremipsum)
782
 
ADD_SUBDIRECTORY(resources/swatches)
783
 
ADD_SUBDIRECTORY(resources/templates)
784
 
#ADD_SUBDIRECTORY(resources/translations/qm)
785
 
ADD_SUBDIRECTORY(resources/translations/po)
786
 
 
787
 
#Install our READMEs etc.
788
 
INSTALL(FILES
789
 
  AUTHORS
790
 
  BUILDING
791
 
  ChangeLog
792
 
  ChangeLogSVN
793
 
  COPYING
794
 
  LINKS
795
 
  NEWS
796
 
  PACKAGING
797
 
  README
798
 
  README.MacOSX
799
 
  TODO
800
 
  TRANSLATION
801
 
  DESTINATION ${DOCDIR}
802
 
)
803
 
 
804
 
#Install our MIME data
805
 
INSTALL(FILES
806
 
  scribus.xml
807
 
  DESTINATION ${MIMEDIR}
808
 
)
809
 
#KDE workaround until it starts supporting freedesktop spec
810
 
INSTALL(FILES
811
 
  vnd.scribus.desktop
812
 
  DESTINATION ${MIMELNKDIR}
813
 
)
814
 
 
815
 
## PL We may not need this anymore
816
 
#Install the desktop file
817
 
## INSTALL(FILES
818
 
 # scribus.desktop
819
 
 # #DESTINATION ${DESKTOPDIR}
820
 
#)
821
 
 
822
 
#If building an Apple bundle, install these specific files
823
 
IF(APPLEBUNDLE)
824
 
  INSTALL(FILES
825
 
    Scribus.app/Contents/Info.plist
826
 
    DESTINATION ${CMAKE_INSTALL_PREFIX}
827
 
  )
828
 
  INSTALL(FILES
829
 
    Scribus.app/Contents/Resources/Scribus.icns
830
 
    Scribus.app/Contents/Resources/Scribus-doc.icns
831
 
    DESTINATION ${CMAKE_INSTALL_PREFIX}/Resources
832
 
  )
833
 
ENDIF(APPLEBUNDLE)
834
 
 
835
 
##############################################################################################################
836
 
########## Install/CPack Setup                                                                      ##########
837
 
 
838
 
# If the cmake version includes cpack, use it for tarball building
839
 
IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
840
 
  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Scribus is an open source publishing application for Linux, Mac OSX and Windows")
841
 
  SET(CPACK_PACKAGE_VENDOR "Scribus Team")
842
 
  SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
843
 
  SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/README")
844
 
  SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
845
 
  SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
846
 
  SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
847
 
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY "Scribus ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
848
 
  SET(CPACK_PACKAGE_EXECUTABLES "scribus${TAG_VERSION}")
849
 
  SET(CPACK_SOURCE_PACKAGE_FILE_NAME "scribus-${VERSION}${VERSION_SUFFIX}")
850
 
  SET(CPACK_SOURCE_GENERATOR TBZ2)
851
 
  SET(CPACK_SYSTEM_NAME "")
852
 
  SET(CPACK_TOPLEVEL_TAG "")
853
 
  SET(CPACK_SOURCE_IGNORE_FILES
854
 
    CMakeCache.txt
855
 
    scribus-1.4.0.rc3.tar.gz
856
 
    scribus-1.4.0.rc3.tar.Z
857
 
    scribus-1.4.0.rc3.gz
858
 
    scribus-1.4.0.rc3.tar.bz2
859
 
    "~$"
860
 
    "\\\\.cvsignore$"
861
 
    "\\\\.o$"
862
 
    "\\\\.svn-base$"
863
 
    "\\\\.svn$"
864
 
    "^${PROJECT_SOURCE_DIR}.*/CVS/"
865
 
    "^${PROJECT_SOURCE_DIR}/debian/"
866
 
    "^${PROJECT_SOURCE_DIR}/old/"
867
 
    "^${PROJECT_SOURCE_DIR}.*/CVSROOT/"
868
 
    "^${PROJECT_SOURCE_DIR}/admin/"
869
 
  )
870
 
  INCLUDE(CPack)
871
 
ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")