summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: 427949667e88a61edf23972e4884b09984176217 (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
#################################################
#
#  (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 3.5.13 )


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

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


##### 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 (kfile-plugins)" OFF )
OPTION( WITH_OPENEXR "Enable openexr support (kfile-plugins)" OFF )
OPTION( WITH_PDF "Enable pdf support (kfile-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 kfile-plugins(tiff)
# WITH_OPENEXR affects kfile-plugins(exr)
# WITH_PDF     affects kfile-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_KFILE_PLUGINS "Build kfile-plugins" ${BUILD_ALL} )
option( BUILD_KGAMMA "Build kgamma" ${BUILD_ALL} )
option( BUILD_KGHOSTVIEW "Build kghostview" ${BUILD_ALL} )
option( BUILD_KICONEDIT "Build kiconedit" ${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 "-Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )


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

# kfile-plugins/ps requires dscparse-static library
if( BUILD_KFILE_PLUGINS AND NOT BUILD_KGHOSTVIEW )
  add_subdirectory( kghostview/dscparse )
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_KFILE_PLUGINS kfile-plugins )
tde_conditional_add_subdirectory( BUILD_KGAMMA kgamma )
tde_conditional_add_subdirectory( BUILD_KGHOSTVIEW kghostview )
tde_conditional_add_subdirectory( BUILD_KICONEDIT kiconedit )
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_KVIEWSHELL kviewshell )
tde_conditional_add_subdirectory( BUILD_LIBKSCAN libkscan )


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

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