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

« back to all changes in this revision

Viewing changes to .pc/top_cmakelists.patch/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 "1")
 
82
SET (VERSION_SUFFIX "svn")
 
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(APPLE)
 
469
  IF (WANT_QT4MAC_COCOA)
 
470
        SET (QT_MAC_USE_COCOA TRUE)
 
471
  ELSE (WANT_QT4MAC_COCOA)
 
472
        SET (HAVE_CARBON 1 CACHE TYPE BOOL)
 
473
        ADD_DEFINITIONS("-DHAVE_CARBON=1")
 
474
  ENDIF (WANT_QT4MAC_COCOA)
 
475
  SET( QT_USE_QTSQL TRUE )
 
476
ENDIF(APPLE)
 
477
IF (WANT_QT3SUPPORT)
 
478
  SET (QT_USE_QT3SUPPORT TRUE)
 
479
ELSE (WANT_QT3SUPPORT)
 
480
  SET (QT_USE_QT3SUPPORT FALSE)
 
481
ENDIF (WANT_QT3SUPPORT)
 
482
SET (QT_USE_QTXML TRUE )
 
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(LCMS2)
 
643
IF (LCMS2_FOUND)
 
644
  IF (LCMS2_VERSION GREATER 2010 OR LCMS2_VERSION EQUAL 2010)
 
645
    SET(HAVE_CMS 1)
 
646
    SET(HAVE_LCMS21 1)
 
647
    SET(CMS_INC "\"lcms2.h\"")
 
648
    MESSAGE("LittleCMS Library >= 2.1 Found OK")
 
649
  ENDIF (LCMS2_VERSION GREATER 2010 OR LCMS2_VERSION EQUAL 2010)
 
650
ENDIF (LCMS2_FOUND)
 
651
IF (NOT HAVE_LCMS21)
 
652
  FIND_PACKAGE(LCMS REQUIRED)
 
653
  IF(LCMS_FOUND)
 
654
    SET(HAVE_CMS 1)
 
655
    SET(CMS_INC "\"lcms.h\"")
 
656
    MESSAGE("LittleCMS Library Found OK")
 
657
  ELSE(LCMS_FOUND)
 
658
    MESSAGE(FATAL_ERROR "Could not find the LittleCMS Library")
 
659
  ENDIF(LCMS_FOUND)
 
660
ENDIF (NOT HAVE_LCMS21)
 
661
#>>LittleCMS
 
662
 
 
663
#<<FontConfig
 
664
IF(NOT WIN32)
 
665
  SET(FONTCONFIG_DIR ${CMAKE_MODULE_PATH})
 
666
  FIND_PACKAGE(FONTCONFIG)
 
667
  IF(FONTCONFIG_FOUND)
 
668
        MESSAGE("FontConfig Found OK")
 
669
        SET(HAVE_FONTCONFIG 1)
 
670
  ENDIF(FONTCONFIG_FOUND)
 
671
ELSE(NOT WIN32)
 
672
  # Windows builds neither use nor require fontconfig
 
673
  SET(FONTCONFIG_INCLUDE_DIR)
 
674
ENDIF(NOT WIN32)
 
675
#>>FontConfig
 
676
 
 
677
#<<ASPELL for Speelling support
 
678
OPTION(WITH_ASPELL "Enable support for spell checking" ON)
 
679
IF (WITH_ASPELL)
 
680
  FIND_PACKAGE(ASPELL)
 
681
  IF (ASPELL_FOUND)
 
682
    MESSAGE("ASpell Found OK")
 
683
    SET(HAVE_ASPELL 1)
 
684
  ELSE (ASPELL_FOUND)
 
685
    MESSAGE("ASpell or its developer libraries NOT found - Disabling support for spell checking")
 
686
  ENDIF (ASPELL_FOUND)
 
687
ENDIF (WITH_ASPELL)
 
688
#>>ASPELL for Speelling support
 
689
 
 
690
 
 
691
#<<PoDoFo for AI PDF import
 
692
OPTION(WITH_PODOFO "Enable support for PDF embedded in AI" ON)
 
693
IF (WITH_PODOFO)
 
694
  FIND_PACKAGE(LIBPODOFO)
 
695
  IF (LIBPODOFO_FOUND)
 
696
    MESSAGE("PoDoFo found OK")
 
697
    SET(HAVE_PODOFO 1)
 
698
  ELSE (LIBPODOFO_FOUND)
 
699
    MESSAGE("PoDoFo NOT found - Disabling support for PDF embedded in AI")
 
700
  ENDIF (LIBPODOFO_FOUND)
 
701
ENDIF (WITH_PODOFO)
 
702
#>>PoDoFo for AI PDF import
 
703
 
 
704
#<<HYPHEN for system hyphenation library
 
705
FIND_PACKAGE(HYPHEN)
 
706
IF(HYPHEN_FOUND)
 
707
  MESSAGE("system hyphenation library found OK")
 
708
  SET(HAVE_HYPHEN 1)
 
709
ELSE(HYPHEN_FOUND)
 
710
  MESSAGE("system hyphenation library NOT found - will use internal one")
 
711
ENDIF(HYPHEN_FOUND)
 
712
#>>HYPHEN for system hyphenation library
 
713
 
 
714
##############################################################################################################
 
715
########## Include Setup                                                                            ##########
 
716
 
 
717
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
 
718
  
 
719
CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
 
720
IF(HAVE_DLFCN_H)
 
721
  ADD_DEFINITIONS(-DHAVE_DLFCN_H)
 
722
ENDIF(HAVE_DLFCN_H)
 
723
 
 
724
CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
 
725
IF(HAVE_UNISTD_H)
 
726
  ADD_DEFINITIONS(-DHAVE_UNISTD_H)
 
727
ENDIF(HAVE_UNISTD_H)
 
728
 
 
729
CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
 
730
# IF(HAVE_SYS_TYPES_H)
 
731
#   ADD_DEFINITIONS(-DHAVE_SYS_TYPES_H)
 
732
# ENDIF(HAVE_SYS_TYPES_H)
 
733
 
 
734
CHECK_INCLUDE_FILE("sys/stat.h" HAVE_SYS_STAT_H)
 
735
# IF(HAVE_SYS_STAT_H)
 
736
#   ADD_DEFINITIONS(-DHAVE_SYS_STAT_H)
 
737
# ENDIF(HAVE_SYS_STAT_H)
 
738
#>>Test for existing include files
 
739
 
 
740
 
 
741
#Create configure files.. config.h and uninstall
 
742
#config.h
 
743
INCLUDE (ConfigureChecks.cmake)
 
744
  IF(WIN32)
 
745
    SET(CONFIG_NAME win-config.h)
 
746
  ELSE(WIN32)
 
747
    SET(CONFIG_NAME config.h)
 
748
  ENDIF(WIN32)
 
749
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
 
750
ADD_DEFINITIONS("-DHAVE_CONFIG_H")
 
751
 
 
752
 
 
753
 
 
754
#Set up include dirs with all found packages
 
755
INCLUDE_DIRECTORIES(
 
756
  ${CMAKE_BINARY_DIR}
 
757
  ${CMAKE_BINARY_DIR}/scribus
 
758
  ${QT_INCLUDES}
 
759
  ${CUPS_INCLUDE_DIR}
 
760
  ${FREETYPE_INCLUDE_DIR}
 
761
  ${FONTCONFIG_INCLUDE_DIR}
 
762
  ${JPEG_INCLUDE_DIR}
 
763
  ${LCMS_INCLUDE_DIR}
 
764
  ${LIBXML2_INCLUDE_DIR}
 
765
  ${PYTHON_INCLUDE_PATH}
 
766
  ${TIFF_INCLUDE_DIR}
 
767
  ${ZLIB_INCLUDE_DIR}
 
768
)
 
769
 
 
770
##############################################################################################################
 
771
########## Uninstall Setup                                                                          ##########
 
772
 
 
773
CONFIGURE_FILE(
 
774
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
 
775
  "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
 
776
  IMMEDIATE @ONLY
 
777
)
 
778
 
 
779
ADD_CUSTOM_TARGET(uninstall
 
780
  "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
 
781
  
 
782
  
 
783
##############################################################################################################
 
784
########## Add our subdirs                                                                          ##########
 
785
 
 
786
#Add our source subdirs
 
787
ADD_SUBDIRECTORY(scribus)
 
788
ADD_SUBDIRECTORY(resources/dicts)
 
789
ADD_SUBDIRECTORY(resources/editorconfig)
 
790
ADD_SUBDIRECTORY(resources/icons)
 
791
ADD_SUBDIRECTORY(resources/keysets)
 
792
ADD_SUBDIRECTORY(resources/loremipsum)
 
793
ADD_SUBDIRECTORY(resources/swatches)
 
794
ADD_SUBDIRECTORY(resources/templates)
 
795
#ADD_SUBDIRECTORY(resources/translations/qm)
 
796
ADD_SUBDIRECTORY(resources/translations/po)
 
797
 
 
798
#Install our READMEs etc.
 
799
INSTALL(FILES
 
800
  AUTHORS
 
801
  BUILDING
 
802
  ChangeLog
 
803
  ChangeLogSVN
 
804
  COPYING
 
805
  LINKS
 
806
  NEWS
 
807
  PACKAGING
 
808
  README
 
809
  README.MacOSX
 
810
  TODO
 
811
  TRANSLATION
 
812
  DESTINATION ${DOCDIR}
 
813
)
 
814
 
 
815
#Install our MIME data
 
816
INSTALL(FILES
 
817
  scribus.xml
 
818
  DESTINATION ${MIMEDIR}
 
819
)
 
820
#KDE workaround until it starts supporting freedesktop spec
 
821
INSTALL(FILES
 
822
  vnd.scribus.desktop
 
823
  DESTINATION ${MIMELNKDIR}
 
824
)
 
825
 
 
826
## PL We may not need this anymore
 
827
#Install the desktop file
 
828
## INSTALL(FILES
 
829
 # scribus.desktop
 
830
 # #DESTINATION ${DESKTOPDIR}
 
831
#)
 
832
 
 
833
#If building an Apple bundle, install these specific files
 
834
IF(APPLEBUNDLE)
 
835
  INSTALL(FILES
 
836
    Scribus.app/Contents/Info.plist
 
837
    DESTINATION ${CMAKE_INSTALL_PREFIX}
 
838
  )
 
839
  INSTALL(FILES
 
840
    Scribus.app/Contents/Resources/Scribus.icns
 
841
    Scribus.app/Contents/Resources/Scribus-doc.icns
 
842
    DESTINATION ${CMAKE_INSTALL_PREFIX}/Resources
 
843
  )
 
844
ENDIF(APPLEBUNDLE)
 
845
 
 
846
##############################################################################################################
 
847
########## Install/CPack Setup                                                                      ##########
 
848
 
 
849
# If the cmake version includes cpack, use it for tarball building
 
850
IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
 
851
  SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Scribus is an open source publishing application for Linux, Mac OSX and Windows")
 
852
  SET(CPACK_PACKAGE_VENDOR "Scribus Team")
 
853
  SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
 
854
  SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/README")
 
855
  SET(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
 
856
  SET(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
 
857
  SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}")
 
858
  SET(CPACK_PACKAGE_INSTALL_DIRECTORY "Scribus ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
 
859
  SET(CPACK_PACKAGE_EXECUTABLES "scribus${TAG_VERSION}")
 
860
  SET(CPACK_SOURCE_PACKAGE_FILE_NAME "scribus-${VERSION}${VERSION_SUFFIX}")
 
861
  SET(CPACK_SOURCE_GENERATOR TBZ2)
 
862
  SET(CPACK_SYSTEM_NAME "")
 
863
  SET(CPACK_TOPLEVEL_TAG "")
 
864
  SET(CPACK_SOURCE_IGNORE_FILES
 
865
    CMakeCache.txt
 
866
    scribus-1.4.1.tar.gz
 
867
    scribus-1.4.1.tar.Z
 
868
    scribus-1.4.1.tar.xz
 
869
    scribus-1.4.1.gz
 
870
    scribus-1.4.1.tar.bz2
 
871
    "~$"
 
872
    "\\\\.cvsignore$"
 
873
    "\\\\.o$"
 
874
    "\\\\.svn-base$"
 
875
    "\\\\.svn$"
 
876
    "^${PROJECT_SOURCE_DIR}.*/CVS/"
 
877
    "^${PROJECT_SOURCE_DIR}/debian/"
 
878
    "^${PROJECT_SOURCE_DIR}/old/"
 
879
    "^${PROJECT_SOURCE_DIR}.*/CVSROOT/"
 
880
    "^${PROJECT_SOURCE_DIR}/admin/"
 
881
  )
 
882
  INCLUDE(CPack)
 
883
ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")