summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: 04b19989a80865267ac76e982e53eb111c88cd12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#################################################
#
#  (C) 2010-2011 Serghei Amelian
#  serghei (DOT) amelian (AT) gmail.com
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

cmake_minimum_required( VERSION 2.8 )


##### general package setup #####################

project( tdegraphics )
set( VERSION R14.0.6 )


##### include essential cmake modules ###########

include( FindPkgConfig )
include( CheckIncludeFile )
include( CheckTypeSize )
include( CheckCSourceCompiles )
include( CheckCXXSourceCompiles )
include( CheckLibraryExists )
include( CheckSymbolExists )


##### include our cmake modules #################

set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
include( TDEMacros )


##### setup install paths #######################

include( TDESetupPaths )
tde_setup_paths( )


##### optional stuff ############################

option( WITH_T1LIB "Enable t1lib support" OFF )
option( WITH_PAPER "Enable libpaper support" OFF )
OPTION( WITH_TIFF "Enable tiff support (tdefile-plugins)" OFF )
OPTION( WITH_OPENEXR "Enable openexr support (tdefile-plugins)" OFF )
OPTION( WITH_PDF "Enable pdf support (tdefile-plugins)" OFF )


##### options comments ##########################

# WITH_T1LIB   affects kpdf
# WITH_T1LIB   description adds support for t1lb, a library for decoding
#                          t1 fonts. If it is disabled or missing the freetype
#                          library is used as a fallback implementation.
#                          It is safe to disable this option. You shouldn't
#                          lose any end-user functionality.
# WITH_PAPER   affects kpdf
# WITH_PAPER   description this library is only used to set some default
#                          parameters of paper according to system settings.
# WITH_TIFF    affects tdefile-plugins(tiff)
# WITH_OPENEXR affects tdefile-plugins(exr)
# WITH_PDF     affects tdefile-plugins(pdf dependencies/poppler-tqt)

# NOTE: It seems that libtiff was planned to be used in
#       kviewshell(plugins/djvu) but isn't yet implemented


##### user requested modules ####################

option( BUILD_ALL "Build all" OFF )
option( BUILD_DOC "Build documentation" ${BUILD_ALL} )
option( BUILD_KAMERA "Build kamera" ${BUILD_ALL} )
option( BUILD_KCOLOREDIT "Build kcoloredit" ${BUILD_ALL} )
option( BUILD_KDVI "Build kdvi" ${BUILD_ALL} )
option( BUILD_KFAX "Build kfax" ${BUILD_ALL} )
option( BUILD_KFAXVIEW "Build kfaxview" ${BUILD_ALL} )
option( BUILD_TDEFILE_PLUGINS "Build tdefile-plugins" ${BUILD_ALL} )
option( BUILD_KGAMMA "Build kgamma" ${BUILD_ALL} )
option( BUILD_KGHOSTVIEW "Build kghostview" ${BUILD_ALL} )
option( BUILD_TDEICONEDIT "Build tdeiconedit" ${BUILD_ALL} )
option( BUILD_KMRML "Build kmrml" ${BUILD_ALL} )
option( BUILD_KOLOURPAINT "Build kolourpaint" ${BUILD_ALL} )
option( BUILD_KOOKA "Build kooka" ${BUILD_ALL} )
option( BUILD_KPDF "Build kpdf" ${BUILD_ALL} )
option( BUILD_KPOVMODELER "Build kpovmodeler" ${BUILD_ALL} )
option( BUILD_KRULER "Build kruler" ${BUILD_ALL} )
option( BUILD_KSNAPSHOT "Build ksnapshot" ${BUILD_ALL} )
option( BUILD_KSVG "Build ksvg" ${BUILD_ALL} )
option( BUILD_KUICKSHOW "Build kuickshow" ${BUILD_ALL} )
option( BUILD_KVIEW "Build kview" ${BUILD_ALL} )
option( BUILD_KVIEWSHELL "Build kviewshell" ${BUILD_ALL} )
option( BUILD_LIBKSCAN "Build libkscan" ${BUILD_ALL} )


##### configure checks ##########################

include( ConfigureChecks.cmake )


###### global compiler settings #################

add_definitions(
  -DHAVE_CONFIG_H
)

set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )


##### tdegraphics directories ###################

# tdefile-plugins/ps requires dscparse-static library
if( BUILD_TDEFILE_PLUGINS AND NOT BUILD_KGHOSTVIEW )
  add_subdirectory( kghostview/dscparse )
endif( )

# kdvi and kfax require a static library from kviewshell
# see BUG 1593 for details
if( BUILD_KVIEWSHELL OR BUILD_KDVI OR BUILD_KFAX )
  add_subdirectory( kviewshell )
endif( )

tde_conditional_add_subdirectory( BUILD_DOC doc )
tde_conditional_add_subdirectory( BUILD_KAMERA kamera )
tde_conditional_add_subdirectory( BUILD_KCOLOREDIT kcoloredit )
tde_conditional_add_subdirectory( BUILD_KDVI kdvi )
tde_conditional_add_subdirectory( BUILD_KFAX kfax )
tde_conditional_add_subdirectory( BUILD_KFAXVIEW kfaxview )
tde_conditional_add_subdirectory( BUILD_TDEFILE_PLUGINS tdefile-plugins )
tde_conditional_add_subdirectory( BUILD_KGAMMA kgamma )
tde_conditional_add_subdirectory( BUILD_KGHOSTVIEW kghostview )
tde_conditional_add_subdirectory( BUILD_TDEICONEDIT tdeiconedit )
tde_conditional_add_subdirectory( BUILD_KMRML kmrml )
tde_conditional_add_subdirectory( BUILD_KOLOURPAINT kolourpaint )
tde_conditional_add_subdirectory( BUILD_KOOKA kooka )
tde_conditional_add_subdirectory( BUILD_KPDF kpdf )
tde_conditional_add_subdirectory( BUILD_KPOVMODELER kpovmodeler )
tde_conditional_add_subdirectory( BUILD_KRULER kruler )
tde_conditional_add_subdirectory( BUILD_KSNAPSHOT ksnapshot )
tde_conditional_add_subdirectory( BUILD_KSVG ksvg )
tde_conditional_add_subdirectory( BUILD_KUICKSHOW kuickshow )
tde_conditional_add_subdirectory( BUILD_KVIEW kview )
tde_conditional_add_subdirectory( BUILD_LIBKSCAN libkscan )


##### write configure files #####################

configure_file( config.h.cmake config.h @ONLY )