OSDN Git Service

fix QJsonDocument map/hash recursion and limit it
[kde/Katie.git] / CMakeLists.txt
1 # Editors notes:
2 #
3 # * To find all FIXME/TODO related to the CMake build system (and those
4 #   inherited from the QMake build system) execute the following in the
5 #   top-level directory of the source tree:
6 #
7 #     find -name '*.cmake' -exec grep -E 'TODO|FIXME' {} +
8 #     find -name CMakeLists.txt -exec grep -E 'TODO|FIXME' {} +
9
10 cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
11
12 if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR)
13     message(FATAL_ERROR "Cross-compiling requires CMAKE_CROSSCOMPILING_EMULATOR to be set to QEMU executable, e.g. qemu-arm-static")
14 endif()
15
16 project(Katie C CXX)
17
18 if(NOT CMAKE_BUILD_TYPE)
19     set(CMAKE_BUILD_TYPE RelWithDebInfo)
20 endif()
21
22 set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
23 set(CMAKE_AUTOMOC FALSE)
24 set(CMAKE_AUTOUIC FALSE)
25 set(CMAKE_AUTORCC FALSE)
26 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
27 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
28 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/staticlib")
29 set(CMAKE_C_VISIBILITY_PRESET "hidden")
30 set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
31 set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
32 set(CMAKE_INCLUDE_DIRECTORIES_BEFORE ON)
33 set(CMAKE_UNITY_BUILD_BATCH_SIZE 300)
34
35 # enable symbols visibility preset for all targets
36 cmake_policy(SET CMP0063 NEW)
37
38 # LLVM linker does not have a default library search path, add some directories known to contain
39 # system wide libraries. the headers search path is also incomplete
40 if(CMAKE_SYSTEM_NAME MATCHES "BSD")
41     foreach(incdir /usr/X11R6/include /usr/X11R7/include /usr/pkg/include /usr/local/include /usr/include)
42         if(EXISTS "${incdir}")
43             include_directories(${incdir})
44         endif()
45     endforeach()
46     foreach(linkdir /usr/X11R6/lib /usr/X11R7/lib /usr/pkg/lib /usr/local/lib /usr/lib /lib)
47         if(EXISTS "${linkdir}")
48             link_directories(${linkdir})
49         endif()
50     endforeach()
51 endif()
52
53 include(CheckCXXCompilerFlag)
54 include(GNUInstallDirs)
55 include(CheckIncludeFileCXX)
56 include(CheckTypeSize)
57 include(CMakePushCheckState)
58 include(CheckStructHasMember)
59 include(CheckCXXSourceRuns)
60 include(FeatureSummary)
61 include(KatieBuildMacros)
62
63 # disable some compiler warnings
64 set(KATIE_NO_WARNINGS
65     # placement new used in private QVariant functions
66     -Wno-placement-new
67     # QVector does not always use new/delete
68     -Wno-class-memaccess
69     # hot attribute used in function prototypes
70     -Wno-attributes
71     # deprecated X11, CUPS and OpenSSL API used
72     -Wno-deprecated -Wno-deprecated-declarations
73 )
74 foreach(nowarning ${KATIE_NO_WARNINGS})
75     string(REPLACE "-W" "" normalizednowarning "${nowarning}")
76     check_cxx_compiler_flag(${nowarning} CXX_${normalizednowarning})
77     if(CXX_${normalizednowarning})
78         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${nowarning}")
79     endif()
80 endforeach()
81
82 # https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
83 # https://github.com/Kitware/CMake/blob/master/Modules/CMakeDetermineSystem.cmake
84 if(CMAKE_SYSTEM_NAME MATCHES "(Linux|GNU)")
85     katie_definition(-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_GNU_SOURCE)
86 elseif(CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|DragonFly)")
87     katie_definition(-D_THREAD_SAFE)
88 elseif(NOT CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|NetBSD|Solaris|SunOS)")
89     message(FATAL_ERROR "Unknown platform '${CMAKE_SYSTEM_NAME}'")
90 endif()
91
92 # mostly relevant to the build process, also stored in the version file for CMake and in qconfig.h.cmake
93 set(KATIE_MAJOR "4")
94 set(KATIE_MINOR "10")
95 set(KATIE_MICRO "0")
96 set(KATIE_HEX "0x041000")
97 set(KATIE_VERSION "${KATIE_MAJOR}.${KATIE_MINOR}.${KATIE_MICRO}")
98
99 # only for the build process
100 if(CMAKE_SYSTEM_PROCESSOR)
101     string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" KATIE_PROCESSOR)
102 elseif(CMAKE_HOST_SYSTEM_PROCESSOR)
103     string(TOLOWER "${CMAKE_HOST_SYSTEM_PROCESSOR}" KATIE_PROCESSOR)
104 endif()
105
106 # used in katie_optimize_headers()
107 find_program(KATIE_UNIFDEF NAMES unifdef)
108 if(NOT KATIE_UNIFDEF)
109     message(WARNING "Could not find unifdef, headers will not be optimized")
110 endif()
111
112 # used as shebang for profile, exec, dbus, xvfb and dbg scripts
113 find_program(KATIE_SHELL NAMES sh dash mksh ksh ash)
114 if(NOT KATIE_SHELL)
115     message(FATAL_ERROR "Could not detect shell, supported are: sh, dash, mksh, ksh and ash")
116 endif()
117
118 # should be either STATIC or SHARED
119 set(KATIE_TYPE SHARED CACHE STRING "Build type")
120
121 # components and tools that will be build, changed depending on the requirements availability
122 # NOTE: excluding DesignerComponents as it was never used as public component, currently only
123 # used by the the designer tool. if it is ever needed for something it can just be added here,
124 # Q_DESIGNER_COMPONENTS_EXPORT must be introduced and genmap.py adjusted - the rest of the
125 # build system has everything in place.
126 set(KATIE_COMPONENTS "Core Gui Declarative Designer Network Sql Svg Xml Script ScriptTools Test UiTools")
127 set(KATIE_TOOLS "moc uic rcc designer qscript qtconfig")
128
129 set(KATIE_HEADERS_PATH "${CMAKE_INSTALL_FULL_INCLUDEDIR}/katie" CACHE PATH "Headers installation path")
130 set(KATIE_LIBRARIES_PATH "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE PATH "Libraries installation path")
131 set(KATIE_BINARIES_PATH "${CMAKE_INSTALL_FULL_BINDIR}" CACHE PATH "Binaries installation path")
132 set(KATIE_PLUGINS_PATH "${KATIE_LIBRARIES_PATH}/katie/plugins" CACHE PATH "Plugins installation path")
133 set(KATIE_IMPORTS_PATH "${KATIE_LIBRARIES_PATH}/katie/imports" CACHE PATH "Declarative imports installation path")
134 set(KATIE_TRANSLATIONS_PATH "${CMAKE_INSTALL_FULL_LOCALEDIR}" CACHE PATH "Translations installation path")
135 set(KATIE_CMAKE_PATH "${KATIE_LIBRARIES_PATH}/cmake/Katie" CACHE PATH "CMake aware modules installation path")
136 set(KATIE_LDCONF_PATH "${CMAKE_INSTALL_FULL_SYSCONFDIR}/ld.so.conf.d" CACHE PATH "Run-time linker/loader configs installation path")
137 set(KATIE_PROFILE_PATH "${CMAKE_INSTALL_FULL_SYSCONFDIR}/profile.d" CACHE PATH "Shell profile scripts installation path")
138 set(KATIE_MAN_PATH "${CMAKE_INSTALL_FULL_MANDIR}" CACHE PATH "Manual pages installation path")
139 set(KATIE_APPLICATIONS_PATH "${CMAKE_INSTALL_FULL_DATADIR}/applications" CACHE PATH "Desktop applications register installation path")
140 set(KATIE_PIXMAPS_PATH "${CMAKE_INSTALL_FULL_DATADIR}/pixmaps" CACHE PATH "Desktop applications icon installation path")
141 set(KATIE_PKGCONFIG_PATH "${KATIE_LIBRARIES_PATH}/pkgconfig" CACHE PATH "pkg-config installation path")
142 set(KATIE_TOOLS_SUFFIX "" CACHE STRING "Tools (moc, uic, rcc, etc.) suffix")
143
144 # optional package
145 option(WITH_CUPS "Build CUPS support" ON)
146 add_feature_info(cups WITH_CUPS "build CUPS support")
147
148 option(WITH_JPEG "Build JPEG support" ON)
149 add_feature_info(jpeg WITH_JPEG "build JPEG support")
150
151 option(WITH_TIFF "Build TIFF support" ON)
152 add_feature_info(tiff WITH_TIFF "build TIFF support")
153
154 option(WITH_DBUS "Build D-Bus support" ON)
155 add_feature_info(dbus WITH_DBUS "build D-Bus support")
156
157 option(WITH_FONTCONFIG "Build Fontconfig support" ON)
158 add_feature_info(fontconfig WITH_FONTCONFIG "build Fontconfig support")
159
160 option(WITH_ODBC "Build ODBC database plugin" ON)
161 add_feature_info(odbc WITH_ODBC "build ODBC support")
162
163 option(WITH_POSTGRESQL "Build PostgreSQL database plugin" ON)
164 add_feature_info(postgresql WITH_POSTGRESQL "build PostgreSQL support")
165
166 option(WITH_MYSQL "Build MySQL database plugin" ON)
167 add_feature_info(mysql WITH_MYSQL "build MySQL support")
168
169 option(WITH_INTL "Build Intl support" ON)
170 add_feature_info(intl WITH_INTL "build Intl support")
171
172 option(WITH_EXECINFO "Build ExecInfo support" OFF)
173 add_feature_info(execinfo WITH_EXECINFO "build ExecInfo support")
174
175 # optional features
176 option(WITH_ACCESSIBILITY "Build accessibility support" ON)
177 add_feature_info(accessibility WITH_ACCESSIBILITY "build accessibility support")
178
179 option(KATIE_TESTS "Build automatic tests" OFF)
180 add_feature_info(tests KATIE_TESTS "build automatic tests")
181
182 option(KATIE_BENCHMARKS "Build automatic benchmarks" OFF)
183 add_feature_info(benchmarks KATIE_BENCHMARKS "build automatic benchmarks")
184
185 option(KATIE_UTILS "Build maintainance utilities" OFF)
186 add_feature_info(utils KATIE_UTILS "build maintainance utilities")
187
188 # v1.2.0+ required for compressBound()
189 find_package(ZLIB 1.2.0)
190 set_package_properties(ZLIB PROPERTIES
191     PURPOSE "Required for compression support"
192     DESCRIPTION "A Massively Spiffy Yet Delicately Unobtrusive Compression Library"
193     URL "https://zlib.net"
194     TYPE REQUIRED
195 )
196
197 # v4.6+ required for unorm2_getDecomposition()
198 find_package(ICU 4.6)
199 set_package_properties(ICU PROPERTIES
200     PURPOSE "Required for locales support"
201     DESCRIPTION "Mature, widely used libraries providing Unicode and Globalization support"
202     URL "http://site.icu-project.org/"
203     TYPE REQUIRED
204 )
205
206 # v1.1.3+ required for exported ZSTD_getErrorString() and ZSTD_getErrorCode()
207 find_package(ZSTD 1.1.3)
208 set_package_properties(ZSTD PROPERTIES
209     PURPOSE "Required for compression support"
210     DESCRIPTION "Fast real-time compression algorithm"
211     URL "https://github.com/facebook/zstd"
212     TYPE REQUIRED
213 )
214
215 # v2.8+ required for JSON_PARSER_MAX_DEPTH
216 find_package(Jansson 2.8)
217 set_package_properties(Jansson PROPERTIES
218     PURPOSE "Required for JSON support"
219     DESCRIPTION "C library for encoding, decoding and manipulating JSON data"
220     URL "https://github.com/akheron/jansson"
221     TYPE REQUIRED
222 )
223
224 # v0.9.8+ required for SHA-224...SHA-512 support
225 find_package(OpenSSL 0.9.8)
226 set_package_properties(OpenSSL PROPERTIES
227     PURPOSE "Required for HTTPS support"
228     DESCRIPTION "Robust, commercial-grade, and full-featured toolkit for SSL and TLS"
229     URL "https://openssl.org"
230     TYPE REQUIRED
231 )
232
233 # v7.7+ required for JavaScript compatibility
234 find_package(PCRE 7.7)
235 set_package_properties(PCRE PROPERTIES
236     PURPOSE "Required for regexp support in script component"
237     DESCRIPTION "Perl Compatible Regular Expressions"
238     URL "https://www.pcre.org/"
239     TYPE REQUIRED
240 )
241
242 find_package(X11)
243 set_package_properties(X11 PROPERTIES
244     PURPOSE "Required for X11/X.Org integration support"
245     DESCRIPTION "Open source implementation of the X Window System"
246     URL "https://www.x.org"
247     TYPE REQUIRED
248 )
249
250 # v2.1.10+ required for FT_GlyphSlot_Embolden()
251 find_package(Freetype 2.1.10)
252 set_package_properties(Freetype PROPERTIES
253     PURPOSE "Required for fonts configuration support"
254     DESCRIPTION "Freely available software library to render fonts"
255     URL "https://www.freetype.org"
256     TYPE REQUIRED
257 )
258
259 set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
260 find_package(Threads)
261 set_package_properties(Threads PROPERTIES
262     PURPOSE "Required for threads support"
263     DESCRIPTION "Platform dependent threads implementation"
264     URL ""
265     TYPE REQUIRED
266 )
267
268 # v1.5.4+ required for png_longjmp_ptr() without noreturn attribute
269 find_package(PNG 1.5.4)
270 set_package_properties(PNG PROPERTIES
271     PURPOSE "PNG format handler"
272     DESCRIPTION "A collection of routines used to create PNG format graphics files"
273     URL "http://www.libpng.org/pub/png/libpng.html"
274     TYPE REQUIRED
275 )
276
277 # v3.5.0+ required for sqlite3_open_v2()
278 find_package(Sqlite 3.5.0)
279 set_package_properties(Sqlite PROPERTIES
280     PURPOSE "Required for SQLite database support"
281     DESCRIPTION "Software library that implements SQL database engine"
282     URL "https://www.sqlite.org/"
283     TYPE REQUIRED
284 )
285
286 find_package(JPEG)
287 set_package_properties(JPEG PROPERTIES
288     PURPOSE "JPEG format handler"
289     DESCRIPTION "JPEG image codec with accelerated baseline compression and decompression"
290     URL "https://libjpeg-turbo.virtualgl.org/"
291     TYPE RECOMMENDED
292 )
293
294 # v3.6.0+ required for TIFFReadRGBAImageOriented()
295 find_package(TIFF 3.6.0)
296 set_package_properties(TIFF PROPERTIES
297     PURPOSE "TIFF format handler"
298     DESCRIPTION "Library for manipulation of TIFF images"
299     URL "http://www.libtiff.org/"
300     TYPE RECOMMENDED
301 )
302
303 find_package(Cups)
304 set_package_properties(Cups PROPERTIES
305     PURPOSE "Required for printing support"
306     DESCRIPTION "CUPS is the standards-based, open source printing system"
307     URL "https://www.cups.org"
308     TYPE RECOMMENDED
309 )
310
311 # v2.4.2+ required for Freetype integration
312 find_package(Fontconfig 2.4.2)
313 set_package_properties(Fontconfig PROPERTIES
314     PURPOSE "Required for fonts configuration support"
315     DESCRIPTION "Library for configuring and customizing font access"
316     URL "https://www.freedesktop.org/wiki/Software/fontconfig/"
317     TYPE RECOMMENDED
318 )
319
320 # v1.5.12+ required for DBusBasicValue type
321 find_package(DBus 1.5.12)
322 set_package_properties(DBus PROPERTIES
323     PURPOSE "Required for D-Bus support"
324     DESCRIPTION "Message bus system, a simple way for applications to talk to one another"
325     URL "https://www.freedesktop.org/wiki/Software/dbus"
326     TYPE RECOMMENDED
327 )
328
329 # v3.0+ required for SQLSetEnvAttr() and many other but unixODBC versioning is different
330 find_package(ODBC)
331 set_package_properties(ODBC PROPERTIES
332     PURPOSE "Required for ODBC database support"
333     DESCRIPTION "The definitive standard for ODBC on non MS Windows platforms"
334     URL "http://www.unixodbc.org"
335     TYPE RECOMMENDED
336 )
337
338 # v7.4+ required for PQresultErrorField()
339 find_package(PostgreSQL 7.4)
340 set_package_properties(PostgreSQL PROPERTIES
341     PURPOSE "Required for PostgreSQL database support"
342     DESCRIPTION "The world's most advanced open source database"
343     URL "https://www.postgresql.org/"
344     TYPE RECOMMENDED
345 )
346
347 # v4.1.13+ required for multiple statements query and UTF-8 support
348 find_package(MySQL 4.1.13)
349 set_package_properties(MySQL PROPERTIES
350     PURPOSE "Required for MySQL database support"
351     DESCRIPTION "The world's most popular open source database"
352     URL "https://www.mysql.com/"
353     TYPE RECOMMENDED
354 )
355
356 find_package(Intl)
357 set_package_properties(Intl PROPERTIES
358     PURPOSE "Required for translations support"
359     DESCRIPTION "GNU gettext runtime library"
360     URL "https://www.gnu.org/software/gettext/gettext.html"
361     TYPE RECOMMENDED
362 )
363
364 find_package(ExecInfo)
365 set_package_properties(ExecInfo PROPERTIES
366     PURPOSE "Required for stack traces on assert and crash"
367     DESCRIPTION "Standard C library specific execinfo implementation"
368     URL ""
369     TYPE RECOMMENDED
370 )
371
372 find_package(XdgUtils)
373 set_package_properties(XdgUtils PROPERTIES
374     PURPOSE "Required for desktop services"
375     DESCRIPTION "Utilities for integrating applications with the desktop environment"
376     URL "https://www.freedesktop.org/wiki/Software/xdg-utils/"
377     TYPE RUNTIME
378 )
379
380 # stored in qconfig.h.cmake
381 check_type_size(size_t QT_POINTER_SIZE)
382
383 # used in components, tests and JavaScriptCore
384 katie_check_header("cxxabi.h")
385 katie_check_function(posix_memalign "stdlib.h")
386 katie_check_function(fcvt "stdlib.h")
387 katie_check_function(ecvt "stdlib.h")
388 katie_check_function(getprogname "stdlib.h")
389 katie_check_function(arc4random "stdlib.h")
390 katie_check_function(get_current_dir_name "unistd.h")
391 katie_check_function(prctl "sys/prctl.h")
392 katie_check_function(feenableexcept "fenv.h")
393 katie_check_function(madvise "sys/mman.h")
394 katie_check_function(getifaddrs "ifaddrs.h")
395 katie_check_function(timegm "time.h")
396 katie_check_function(inotify_init1 "sys/inotify.h")
397 katie_check_function(kevent "sys/event.h")
398 katie_check_function(pipe2 "unistd.h")
399 katie_check_function(accept4 "sys/socket.h")
400 katie_check_function(paccept "sys/socket.h")
401 katie_check_function(getdomainname "unistd.h")
402 katie_check_struct(tm tm_gmtoff "time.h")
403 katie_check_struct(tm tm_zone "time.h")
404 katie_check_struct(sockaddr_ll sll_addr "netpacket/packet.h")
405 katie_check_struct(sockaddr_dl sdl_index "net/if_dl.h")
406 katie_check_struct(dirent d_type "dirent.h")
407
408 cmake_reset_check_state()
409 set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
410 katie_check_function(pthread_setname_np "pthread.h")
411 cmake_reset_check_state()
412
413 # 64-bit offset alternatives, if any of the functions is not found it will set
414 # QT_LARGEFILE_SUPPORT to FALSE. QT_LARGEFILE_SUPPORT is used in qconfig.h
415 set(QT_LARGEFILE_SUPPORT TRUE)
416 katie_check_function64(stat64 "sys/stat.h")
417 katie_check_function64(lstat64 "sys/stat.h")
418 katie_check_function64(fstat64 "sys/stat.h")
419 katie_check_function64(open64 "fcntl.h")
420 katie_check_function64(creat64 "fcntl.h")
421 katie_check_function64(lseek64 "unistd.h")
422 katie_check_function64(truncate64 "unistd.h")
423 katie_check_function64(ftruncate64 "unistd.h")
424 katie_check_function64(fopen64 "stdio.h")
425 katie_check_function64(fseeko64 "stdio.h")
426 katie_check_function64(ftello64 "stdio.h")
427 katie_check_function64(fgetpos64 "stdio.h")
428 katie_check_function64(fsetpos64 "stdio.h")
429 katie_check_function64(mmap64 "sys/mman.h")
430 katie_check_function64(readdir64 "dirent.h")
431 katie_check_function64(readdir64_r "dirent.h")
432
433 katie_check_proc(exe)
434 katie_check_proc(cmdline)
435
436 configure_file(
437     ${CMAKE_SOURCE_DIR}/src/core/global/qconfig.h.cmake
438     ${CMAKE_BINARY_DIR}/include/QtCore/qconfig.h
439 )
440 configure_file(
441     ${CMAKE_SOURCE_DIR}/src/core/global/qconfig.cpp.cmake
442     ${CMAKE_BINARY_DIR}/include/qconfig.cpp
443 )
444
445 if(KATIE_TESTS OR KATIE_BENCHMARKS)
446     message(WARNING "Deploying tests/benchmarks build is a bad idea")
447     enable_testing()
448     add_definitions(-DQT_BUILD_INTERNAL)
449 endif()
450
451 foreach(script exec dbus xvfb dbg)
452     configure_file(
453         ${CMAKE_SOURCE_DIR}/cmake/${script}.sh.cmake
454         ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${script}.sh
455         @ONLY
456     )
457     file(
458         COPY ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${script}.sh
459         DESTINATION ${CMAKE_BINARY_DIR}
460         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ
461     )
462 endforeach()
463
464 # optional packages
465 if(NOT WITH_FONTCONFIG OR NOT FONTCONFIG_FOUND)
466     katie_definition(-DQT_NO_FONTCONFIG)
467 endif()
468
469 if(NOT WITH_DBUS OR NOT DBUS_FOUND)
470     katie_definition(-DQT_NO_DBUS)
471 else()
472     set(KATIE_COMPONENTS "${KATIE_COMPONENTS} DBus")
473     set(KATIE_TOOLS "${KATIE_TOOLS} qdbus qdbusxml2cpp qdbuscpp2xml qdbusviewer")
474 endif()
475
476 if(NOT WITH_CUPS OR NOT CUPS_FOUND)
477     katie_definition(-DQT_NO_CUPS)
478 endif()
479
480 if(NOT WITH_JPEG OR NOT JPEG_FOUND)
481     katie_definition(-DQT_NO_IMAGEFORMAT_JPEG)
482 endif()
483
484 if(NOT WITH_TIFF OR NOT TIFF_FOUND)
485     katie_definition(-DQT_NO_IMAGEFORMAT_TIFF)
486 endif()
487
488 if(NOT WITH_INTL OR NOT INTL_FOUND)
489     katie_definition(-DQT_NO_TRANSLATION)
490 endif()
491
492 if(NOT WITH_EXECINFO OR NOT EXECINFO_FOUND)
493     katie_definition(-DQT_NO_EXECINFO)
494 endif()
495
496 # optional and conditional features
497 if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
498     katie_definition(-DQT_NO_DEBUG)
499 endif()
500
501 if(NOT WITH_ACCESSIBILITY)
502     katie_definition(-DQT_NO_ACCESSIBILITY)
503 endif()
504
505 add_library(pic_test ${KATIE_TYPE}  EXCLUDE_FROM_ALL "${CMAKE_SOURCE_DIR}/cmake/pic.cpp")
506 get_target_property(HAVE_pic pic_test POSITION_INDEPENDENT_CODE)
507 if(NOT HAVE_pic)
508     katie_definition(-DQ_NO_DATA_RELOCATION)
509 endif()
510
511 # keep in sync with the GUI component CMake file, only definitions setup is needed here
512 foreach(x11ext Xshape Xinerama Xrandr Xrender Xfixes Xcursor)
513     if(NOT X11_${x11ext}_FOUND)
514         message(WARNING "The X11 ${x11ext} extension was not found")
515         string(TOUPPER "${x11ext}" upperext)
516         katie_definition(-DQT_NO_${upperext})
517     endif()
518 endforeach()
519 if(NOT X11_Xext_FOUND)
520     message(WARNING "The X11 Xext extension was not found")
521     katie_definition(-DQT_NO_XSYNC -DQT_NO_XSHAPE)
522 endif()
523 if(NOT X11_SM_FOUND OR NOT X11_ICE_FOUND)
524     message(WARNING "X11 SM/ICE was not found thus disabling session manager support")
525     katie_definition(-DQT_NO_SESSIONMANAGER)
526 endif()
527
528 add_subdirectory(src/shared)
529
530 add_subdirectory(src/core)
531 add_subdirectory(src/xml)
532 if(WITH_DBUS AND DBUS_FOUND)
533     add_subdirectory(src/dbus)
534 endif()
535 add_subdirectory(src/declarative)
536 add_subdirectory(src/designer)
537 add_subdirectory(src/gui)
538 add_subdirectory(src/imports)
539 add_subdirectory(src/network)
540 add_subdirectory(src/plugins)
541 add_subdirectory(src/script)
542 add_subdirectory(src/scripttools)
543 add_subdirectory(src/sql)
544 add_subdirectory(src/svg)
545 add_subdirectory(src/test)
546 add_subdirectory(src/uitools)
547
548 add_subdirectory(src/tools)
549
550 if(WITH_INTL AND INTL_FOUND)
551     add_subdirectory(translations)
552 endif()
553
554 if(KATIE_TESTS OR KATIE_BENCHMARKS)
555     add_subdirectory(tests)
556 endif()
557
558 if(KATIE_UTILS)
559     add_subdirectory(util)
560 endif()
561
562 # the macro calls bellow are generated via the incfsck script
563 katie_generate_obsolete(QAbstractExtensionFactory QtDesigner extension.h)
564 katie_generate_obsolete(QAbstractExtensionManager QtDesigner extension.h)
565 katie_generate_obsolete(QAbstractFileEngineIterator QtCore qabstractfileengine.h)
566 katie_generate_obsolete(QAbstractFormBuilder QtDesigner abstractformbuilder.h)
567 katie_generate_obsolete(QAbstractGraphicsShapeItem QtGui qgraphicsitem.h)
568 katie_generate_obsolete(QAbstractListModel QtCore qabstractitemmodel.h)
569 katie_generate_obsolete(QAbstractTableModel QtCore qabstractitemmodel.h)
570 katie_generate_obsolete(QAbstractUndoItem QtGui qtextdocument.h)
571 katie_generate_obsolete(QAccessible2Interface QtGui qaccessible2.h)
572 katie_generate_obsolete(QAccessibleActionInterface QtGui qaccessible2.h)
573 katie_generate_obsolete(QAccessibleApplication QtGui qaccessibleobject.h)
574 katie_generate_obsolete(QAccessibleBridgeFactoryInterface QtGui qaccessiblebridge.h)
575 katie_generate_obsolete(QAccessibleBridgePlugin QtGui qaccessiblebridge.h)
576 katie_generate_obsolete(QAccessibleEditableTextInterface QtGui qaccessible2.h)
577 katie_generate_obsolete(QAccessibleEvent QtGui qaccessible.h)
578 katie_generate_obsolete(QAccessibleFactoryInterface QtGui qaccessibleplugin.h)
579 katie_generate_obsolete(QAccessibleImageInterface QtGui qaccessible2.h)
580 katie_generate_obsolete(QAccessibleInterfaceEx QtGui qaccessible.h)
581 katie_generate_obsolete(QAccessibleInterface QtGui qaccessible.h)
582 katie_generate_obsolete(QAccessibleObjectEx QtGui qaccessibleobject.h)
583 katie_generate_obsolete(QAccessibleSimpleEditableTextInterface QtGui qaccessible2.h)
584 katie_generate_obsolete(QAccessibleTable2CellInterface QtGui qaccessible2.h)
585 katie_generate_obsolete(QAccessibleTable2Interface QtGui qaccessible2.h)
586 katie_generate_obsolete(QAccessibleTableInterface QtGui qaccessible2.h)
587 katie_generate_obsolete(QAccessibleTextInterface QtGui qaccessible2.h)
588 katie_generate_obsolete(QAccessibleValueInterface QtGui qaccessible2.h)
589 katie_generate_obsolete(QAccessibleWidgetEx QtGui qaccessiblewidget.h)
590 katie_generate_obsolete(QActionEvent QtGui qevent.h)
591 katie_generate_obsolete(QAnimationDriver QtGui qabstractanimation.h)
592 katie_generate_obsolete(QArgument QtCore qobjectdefs.h)
593 katie_generate_obsolete(QAtomicInt QtCore qatomic.h)
594 katie_generate_obsolete(QAtomicPointer QtCore qatomic.h)
595 katie_generate_obsolete(QBasicAtomicInt QtCore qbasicatomic.h)
596 katie_generate_obsolete(QBitRef QtCore qbitarray.h)
597 katie_generate_obsolete(QBrushData QtGui qbrush.h)
598 katie_generate_obsolete(QByteRef QtCore qbytearray.h)
599 katie_generate_obsolete(QCharRef QtCore qstring.h)
600 katie_generate_obsolete(QChildEvent QtCore qcoreevent.h)
601 katie_generate_obsolete(QClipboardEvent QtGui qevent.h)
602 katie_generate_obsolete(QCloseEvent QtGui qevent.h)
603 katie_generate_obsolete(QConicalGradient QtGui qbrush.h)
604 katie_generate_obsolete(QContextMenuEvent QtGui qevent.h)
605 katie_generate_obsolete(QContiguousCacheData QtCore qcontiguouscache.h)
606 katie_generate_obsolete(QContiguousCacheTypedData QtCore qcontiguouscache.h)
607 katie_generate_obsolete(QDateEdit QtGui qdatetimeedit.h)
608 katie_generate_obsolete(QDate QtCore qdatetime.h)
609 katie_generate_obsolete(QDBusAbstractInterfaceBase QtDBus qdbusabstractinterface.h)
610 katie_generate_obsolete(QDBusObjectPath QtDBus qdbusextratypes.h)
611 katie_generate_obsolete(QDBusPendingCallWatcher QtDBus qdbuspendingcall.h)
612 katie_generate_obsolete(QDBusPendingReplyData QtDBus qdbuspendingreply.h)
613 katie_generate_obsolete(QDBusSignature QtDBus qdbusextratypes.h)
614 katie_generate_obsolete(QDBusVariant QtDBus qdbusextratypes.h)
615 katie_generate_obsolete(QDeclarativeAttachedPropertiesFunc QtDeclarative qdeclarativeprivate.h)
616 katie_generate_obsolete(QDeclarativeListProperty QtDeclarative qdeclarativelist.h)
617 katie_generate_obsolete(QDeclarativeListReference QtDeclarative qdeclarativelist.h)
618 katie_generate_obsolete(QDeclarativeProperties QtDeclarative qdeclarativeproperty.h)
619 katie_generate_obsolete(QDeclarativeTypeInfo QtDeclarative qdeclarativeprivate.h)
620 katie_generate_obsolete(QDesignerActionEditorInterface QtDesigner abstractactioneditor.h)
621 katie_generate_obsolete(QDesignerBrushManagerInterface QtDesigner abstractbrushmanager.h)
622 katie_generate_obsolete(QDesignerComponents QtDesigner qdesigner_components.h)
623 katie_generate_obsolete(QDesignerContainerExtension QtDesigner container.h)
624 katie_generate_obsolete(QDesignerCustomWidgetCollectionInterface QtDesigner customwidget.h)
625 katie_generate_obsolete(QDesignerCustomWidgetInterface QtDesigner customwidget.h)
626 katie_generate_obsolete(QDesignerDnDItemInterface QtDesigner abstractdnditem.h)
627 katie_generate_obsolete(QDesignerDynamicPropertySheetExtension QtDesigner dynamicpropertysheet.h)
628 katie_generate_obsolete(QDesignerExtraInfoExtension QtDesigner extrainfo.h)
629 katie_generate_obsolete(QDesignerFormEditorInterface QtDesigner abstractformeditor.h)
630 katie_generate_obsolete(QDesignerFormEditorPluginInterface QtDesigner abstractformeditorplugin.h)
631 katie_generate_obsolete(QDesignerFormWindowCursorInterface QtDesigner abstractformwindowcursor.h)
632 katie_generate_obsolete(QDesignerFormWindowInterface QtDesigner abstractformwindow.h)
633 katie_generate_obsolete(QDesignerFormWindowManagerInterface QtDesigner abstractformwindowmanager.h)
634 katie_generate_obsolete(QDesignerFormWindowToolInterface QtDesigner abstractformwindowtool.h)
635 katie_generate_obsolete(QDesignerIconCacheInterface QtDesigner abstracticoncache.h)
636 katie_generate_obsolete(QDesignerIntegrationInterface QtDesigner abstractintegration.h)
637 katie_generate_obsolete(QDesignerLanguageExtension QtDesigner abstractlanguage.h)
638 katie_generate_obsolete(QDesignerLayoutDecorationExtension QtDesigner layoutdecoration.h)
639 katie_generate_obsolete(QDesignerMemberSheetExtension QtDesigner membersheet.h)
640 katie_generate_obsolete(QDesignerMetaDataBaseInterface QtDesigner abstractmetadatabase.h)
641 katie_generate_obsolete(QDesignerMetaDataBaseItemInterface QtDesigner abstractmetadatabase.h)
642 katie_generate_obsolete(QDesignerObjectInspectorInterface QtDesigner abstractobjectinspector.h)
643 katie_generate_obsolete(QDesignerPromotionInterface QtDesigner abstractpromotioninterface.h)
644 katie_generate_obsolete(QDesignerPropertyEditorInterface QtDesigner abstractpropertyeditor.h)
645 katie_generate_obsolete(QDesignerPropertySheetExtension QtDesigner propertysheet.h)
646 katie_generate_obsolete(QDesignerResourceBrowserInterface QtDesigner abstractresourcebrowser.h)
647 katie_generate_obsolete(QDesignerTaskMenuExtension QtDesigner taskmenu.h)
648 katie_generate_obsolete(QDesignerWidgetBoxInterface QtDesigner abstractwidgetbox.h)
649 katie_generate_obsolete(QDesignerWidgetDataBaseInterface QtDesigner abstractwidgetdatabase.h)
650 katie_generate_obsolete(QDesignerWidgetDataBaseItemInterface QtDesigner abstractwidgetdatabase.h)
651 katie_generate_obsolete(QDesignerWidgetFactoryInterface QtDesigner abstractwidgetfactory.h)
652 katie_generate_obsolete(QDomAttr QtXml qdom.h)
653 katie_generate_obsolete(QDomCDATASection QtXml qdom.h)
654 katie_generate_obsolete(QDomCharacterData QtXml qdom.h)
655 katie_generate_obsolete(QDomComment QtXml qdom.h)
656 katie_generate_obsolete(QDomDocumentFragment QtXml qdom.h)
657 katie_generate_obsolete(QDomDocument QtXml qdom.h)
658 katie_generate_obsolete(QDomDocumentType QtXml qdom.h)
659 katie_generate_obsolete(QDomElement QtXml qdom.h)
660 katie_generate_obsolete(QDomEntity QtXml qdom.h)
661 katie_generate_obsolete(QDomEntityReference QtXml qdom.h)
662 katie_generate_obsolete(QDomImplementation QtXml qdom.h)
663 katie_generate_obsolete(QDomNamedNodeMap QtXml qdom.h)
664 katie_generate_obsolete(QDomNodeList QtXml qdom.h)
665 katie_generate_obsolete(QDomNode QtXml qdom.h)
666 katie_generate_obsolete(QDomNotation QtXml qdom.h)
667 katie_generate_obsolete(QDomProcessingInstruction QtXml qdom.h)
668 katie_generate_obsolete(QDomText QtXml qdom.h)
669 katie_generate_obsolete(QDoubleSpinBox QtGui qspinbox.h)
670 katie_generate_obsolete(QDoubleValidator QtGui qvalidator.h)
671 katie_generate_obsolete(QDragEnterEvent QtGui qevent.h)
672 katie_generate_obsolete(QDragLeaveEvent QtGui qevent.h)
673 katie_generate_obsolete(QDragMoveEvent QtGui qevent.h)
674 katie_generate_obsolete(QDropEvent QtGui qevent.h)
675 katie_generate_obsolete(QDynamicPropertyChangeEvent QtCore qcoreevent.h)
676 katie_generate_obsolete(QEvent QtCore qcoreevent.h)
677 katie_generate_obsolete(QEventSizeOfChecker QtTest qtestspontaneevent.h)
678 katie_generate_obsolete(QExplicitlySharedDataPointer QtCore qsharedpointer.h)
679 katie_generate_obsolete(QExtensionFactory QtDesigner default_extensionfactory.h)
680 katie_generate_obsolete(QFileInfoList QtCore qfileinfo.h)
681 katie_generate_obsolete(QFlag QtCore qglobal.h)
682 katie_generate_obsolete(QFlags QtCore qglobal.h)
683 katie_generate_obsolete(QFocusEvent QtGui qevent.h)
684 katie_generate_obsolete(QFontMetricsF QtGui qfontmetrics.h)
685 katie_generate_obsolete(QFormBuilder QtDesigner formbuilder.h)
686 katie_generate_obsolete(QFutureInterfaceBase QtCore qfutureinterface.h)
687 katie_generate_obsolete(QFutureIterator QtCore qfuture.h)
688 katie_generate_obsolete(QFutureWatcherBase QtCore qfuturewatcher.h)
689 katie_generate_obsolete(QGenericArgument QtCore qobjectdefs.h)
690 katie_generate_obsolete(QGenericReturnArgument QtCore qobjectdefs.h)
691 katie_generate_obsolete(QGestureEvent QtGui qevent.h)
692 katie_generate_obsolete(QGlobalStaticDeleter QtCore qglobal.h)
693 katie_generate_obsolete(QGlobalStatic QtCore qglobal.h)
694 katie_generate_obsolete(QGradient QtGui qbrush.h)
695 katie_generate_obsolete(QGradientStop QtGui qbrush.h)
696 katie_generate_obsolete(QGradientStops QtGui qbrush.h)
697 katie_generate_obsolete(QGraphicsAnchor QtGui qgraphicsanchorlayout.h)
698 katie_generate_obsolete(QGraphicsBlurEffect QtGui qgraphicseffect.h)
699 katie_generate_obsolete(QGraphicsColorizeEffect QtGui qgraphicseffect.h)
700 katie_generate_obsolete(QGraphicsDropShadowEffect QtGui qgraphicseffect.h)
701 katie_generate_obsolete(QGraphicsEllipseItem QtGui qgraphicsitem.h)
702 katie_generate_obsolete(QGraphicsItemGroup QtGui qgraphicsitem.h)
703 katie_generate_obsolete(QGraphicsLineItem QtGui qgraphicsitem.h)
704 katie_generate_obsolete(QGraphicsObject QtGui qgraphicsitem.h)
705 katie_generate_obsolete(QGraphicsOpacityEffect QtGui qgraphicseffect.h)
706 katie_generate_obsolete(QGraphicsPathItem QtGui qgraphicsitem.h)
707 katie_generate_obsolete(QGraphicsPixmapItem QtGui qgraphicsitem.h)
708 katie_generate_obsolete(QGraphicsPolygonItem QtGui qgraphicsitem.h)
709 katie_generate_obsolete(QGraphicsRectItem QtGui qgraphicsitem.h)
710 katie_generate_obsolete(QGraphicsRotation QtGui qgraphicstransform.h)
711 katie_generate_obsolete(QGraphicsScale QtGui qgraphicstransform.h)
712 katie_generate_obsolete(QGraphicsSceneContextMenuEvent QtGui qgraphicssceneevent.h)
713 katie_generate_obsolete(QGraphicsSceneDragDropEvent QtGui qgraphicssceneevent.h)
714 katie_generate_obsolete(QGraphicsSceneHelpEvent QtGui qgraphicssceneevent.h)
715 katie_generate_obsolete(QGraphicsSceneHoverEvent QtGui qgraphicssceneevent.h)
716 katie_generate_obsolete(QGraphicsSceneMouseEvent QtGui qgraphicssceneevent.h)
717 katie_generate_obsolete(QGraphicsSceneMoveEvent QtGui qgraphicssceneevent.h)
718 katie_generate_obsolete(QGraphicsSceneResizeEvent QtGui qgraphicssceneevent.h)
719 katie_generate_obsolete(QGraphicsSceneWheelEvent QtGui qgraphicssceneevent.h)
720 katie_generate_obsolete(QGraphicsSimpleTextItem QtGui qgraphicsitem.h)
721 katie_generate_obsolete(QGraphicsTextItem QtGui qgraphicsitem.h)
722 katie_generate_obsolete(QHashData QtCore qhash.h)
723 katie_generate_obsolete(QHashIterator QtCore qhash.h)
724 katie_generate_obsolete(QHashNode QtCore qhash.h)
725 katie_generate_obsolete(QHBoxLayout QtGui qboxlayout.h)
726 katie_generate_obsolete(QHelpEvent QtGui qevent.h)
727 katie_generate_obsolete(QHideEvent QtGui qevent.h)
728 katie_generate_obsolete(QHoverEvent QtGui qevent.h)
729 katie_generate_obsolete(QHttpHeader QtNetwork qhttp.h)
730 katie_generate_obsolete(QHttpPart QtNetwork qhttpmultipart.h)
731 katie_generate_obsolete(QHttpRequestHeader QtNetwork qhttp.h)
732 katie_generate_obsolete(QHttpResponseHeader QtNetwork qhttp.h)
733 katie_generate_obsolete(QIconEngineFactoryInterface QtGui qiconengineplugin.h)
734 katie_generate_obsolete(QIconEngineFactoryInterfaceV2 QtGui qiconengineplugin.h)
735 katie_generate_obsolete(QIconEnginePluginV2 QtGui qiconengineplugin.h)
736 katie_generate_obsolete(QIconEngineV2 QtGui qiconengine.h)
737 katie_generate_obsolete(QImageIOHandlerFactoryInterface QtGui qimageiohandler.h)
738 katie_generate_obsolete(QImageIOPlugin QtGui qimageiohandler.h)
739 katie_generate_obsolete(QIncompatibleFlag QtCore qglobal.h)
740 katie_generate_obsolete(QInputContextFactoryInterface QtGui qinputcontextplugin.h)
741 katie_generate_obsolete(QInputEvent QtGui qevent.h)
742 katie_generate_obsolete(QInputMethodEvent QtGui qevent.h)
743 katie_generate_obsolete(QInternal QtCore qnamespace.h)
744 katie_generate_obsolete(QIntValidator QtGui qvalidator.h)
745 katie_generate_obsolete(QIPv6Address QtNetwork qhostaddress.h)
746 katie_generate_obsolete(Q_IPV6ADDR QtNetwork qhostaddress.h)
747 katie_generate_obsolete(QItemEditorCreatorBase QtGui qitemeditorfactory.h)
748 katie_generate_obsolete(QItemEditorCreator QtGui qitemeditorfactory.h)
749 katie_generate_obsolete(QItemSelection QtGui qitemselectionmodel.h)
750 katie_generate_obsolete(QItemSelectionRange QtGui qitemselectionmodel.h)
751 katie_generate_obsolete(QKeyEvent QtGui qevent.h)
752 katie_generate_obsolete(QLatin1Char QtCore qchar.h)
753 katie_generate_obsolete(QLatin1String QtCore qstring.h)
754 katie_generate_obsolete(QLinearGradient QtGui qbrush.h)
755 katie_generate_obsolete(QLineF QtCore qline.h)
756 katie_generate_obsolete(QLinkedListData QtCore qlinkedlist.h)
757 katie_generate_obsolete(QLinkedListIterator QtCore qlinkedlist.h)
758 katie_generate_obsolete(QLinkedListNode QtCore qlinkedlist.h)
759 katie_generate_obsolete(QListData QtCore qlist.h)
760 katie_generate_obsolete(QListIterator QtCore qlist.h)
761 katie_generate_obsolete(QListWidgetItem QtGui qlistwidget.h)
762 katie_generate_obsolete(QMapData QtCore qmap.h)
763 katie_generate_obsolete(QMapIterator QtCore qmap.h)
764 katie_generate_obsolete(QMapNode QtCore qmap.h)
765 katie_generate_obsolete(QMapPayloadNode QtCore qmap.h)
766 katie_generate_obsolete(QMatrix2x2 QtGui qgenericmatrix.h)
767 katie_generate_obsolete(QMatrix2x3 QtGui qgenericmatrix.h)
768 katie_generate_obsolete(QMatrix2x4 QtGui qgenericmatrix.h)
769 katie_generate_obsolete(QMatrix3x2 QtGui qgenericmatrix.h)
770 katie_generate_obsolete(QMatrix3x3 QtGui qgenericmatrix.h)
771 katie_generate_obsolete(QMatrix3x4 QtGui qgenericmatrix.h)
772 katie_generate_obsolete(QMatrix4x2 QtGui qgenericmatrix.h)
773 katie_generate_obsolete(QMatrix4x3 QtGui qgenericmatrix.h)
774 katie_generate_obsolete(QMetaClassInfo QtCore qmetaobject.h)
775 katie_generate_obsolete(QMetaEnum QtCore qmetaobject.h)
776 katie_generate_obsolete(QMetaMethod QtCore qmetaobject.h)
777 katie_generate_obsolete(QMetaObjectAccessor QtCore qobjectdefs.h)
778 katie_generate_obsolete(QMetaProperty QtCore qmetaobject.h)
779 katie_generate_obsolete(QMetaTypeId2 QtCore qmetatype.h)
780 katie_generate_obsolete(QMetaTypeId QtCore qmetatype.h)
781 katie_generate_obsolete(QModelIndexList QtCore qabstractitemmodel.h)
782 katie_generate_obsolete(QModelIndex QtCore qabstractitemmodel.h)
783 katie_generate_obsolete(QMouseEvent QtGui qevent.h)
784 katie_generate_obsolete(QMoveEvent QtGui qevent.h)
785 katie_generate_obsolete(QMultiHash QtCore qhash.h)
786 katie_generate_obsolete(QMultiMap QtCore qmap.h)
787 katie_generate_obsolete(QMutableFutureIterator QtCore qfuture.h)
788 katie_generate_obsolete(QMutableHashIterator QtCore qhash.h)
789 katie_generate_obsolete(QMutableLinkedListIterator QtCore qlist.h)
790 katie_generate_obsolete(QMutableListIterator QtCore qlist.h)
791 katie_generate_obsolete(QMutableMapIterator QtCore qmap.h)
792 katie_generate_obsolete(QMutableSetIterator QtCore qset.h)
793 katie_generate_obsolete(QMutableStringListIterator QtCore qstringlist.h)
794 katie_generate_obsolete(QMutableVectorIterator QtCore qvector.h)
795 katie_generate_obsolete(QMutexLocker QtCore qmutex.h)
796 katie_generate_obsolete(QNetworkAddressEntry QtNetwork qnetworkinterface.h)
797 katie_generate_obsolete(QNetworkCacheMetaData QtNetwork qabstractnetworkcache.h)
798 katie_generate_obsolete(QNetworkConfigurationManager QtNetwork qnetworkconfigmanager.h)
799 katie_generate_obsolete(QNetworkProxyFactory QtNetwork qnetworkproxy.h)
800 katie_generate_obsolete(QNetworkProxyQuery QtNetwork qnetworkproxy.h)
801 katie_generate_obsolete(QNoDebug QtCore qdebug.h)
802 katie_generate_obsolete(QObjectData QtCore qobject.h)
803 katie_generate_obsolete(QObjectList QtCore qobject.h)
804 katie_generate_obsolete(QPaintEngineState QtGui qpaintengine.h)
805 katie_generate_obsolete(QPainterPathPrivate QtGui qpainterpath.h)
806 katie_generate_obsolete(QPainterPathStroker QtGui qpainterpath.h)
807 katie_generate_obsolete(QPaintEvent QtGui qevent.h)
808 katie_generate_obsolete(QPanGesture QtGui qgesture.h)
809 katie_generate_obsolete(QPersistentModelIndex QtCore qabstractitemmodel.h)
810 katie_generate_obsolete(Q_PID QtCore qprocess.h)
811 katie_generate_obsolete(QPinchGesture QtGui qgesture.h)
812 katie_generate_obsolete(QPlainTextDocumentLayout QtGui qplaintextedit.h)
813 katie_generate_obsolete(QPointF QtCore qpoint.h)
814 katie_generate_obsolete(QPolygonF QtGui qpolygon.h)
815 katie_generate_obsolete(QProcessEnvironment QtCore qprocess.h)
816 katie_generate_obsolete(QRadialGradient QtGui qbrush.h)
817 katie_generate_obsolete(QReadLocker QtCore qreadwritelock.h)
818 katie_generate_obsolete(QRectF QtCore qrect.h)
819 katie_generate_obsolete(QRegExpValidator QtGui qvalidator.h)
820 katie_generate_obsolete(QResizeEvent QtGui qevent.h)
821 katie_generate_obsolete(QReturnArgument QtCore qobjectdefs.h)
822 katie_generate_obsolete(QScopedArrayPointer QtCore qscopedpointer.h)
823 katie_generate_obsolete(QScopedPointerArrayDeleter QtCore qscopedpointer.h)
824 katie_generate_obsolete(QScopedPointerPodDeleter QtCore qscopedpointer.h)
825 katie_generate_obsolete(QSetIterator QtCore qset.h)
826 katie_generate_obsolete(QSharedDataPointer QtCore qshareddata.h)
827 katie_generate_obsolete(QShortcutEvent QtGui qevent.h)
828 katie_generate_obsolete(QShowEvent QtGui qevent.h)
829 katie_generate_obsolete(QSizeF QtCore qsize.h)
830 katie_generate_obsolete(QSpacerItem QtGui qlayoutitem.h)
831 katie_generate_obsolete(QSplitterHandle QtGui qsplitter.h)
832 katie_generate_obsolete(QSpontaneKeyEvent QtTest qtestspontaneevent.h)
833 katie_generate_obsolete(QSqlDriverFactoryInterface QtSql qsqldriverplugin.h)
834 katie_generate_obsolete(QSqlRelation QtSql qsqlrelationaltablemodel.h)
835 katie_generate_obsolete(QStandardItemEditorCreator QtGui qitemeditorfactory.h)
836 katie_generate_obsolete(QStandardItem QtGui qstandarditemmodel.h)
837 katie_generate_obsolete(QStatusTipEvent QtGui qevent.h)
838 katie_generate_obsolete(QStdWString QtCore qstring.h)
839 katie_generate_obsolete(QStringListIterator QtCore qstringlist.h)
840 katie_generate_obsolete(QStringRef QtCore qstring.h)
841 katie_generate_obsolete(QStyleFactoryInterface QtGui qstyleplugin.h)
842 katie_generate_obsolete(QStyleHintReturnMask QtGui qstyleoption.h)
843 katie_generate_obsolete(QStyleHintReturn QtGui qstyleoption.h)
844 katie_generate_obsolete(QStyleHintReturnVariant QtGui qstyleoption.h)
845 katie_generate_obsolete(QStyleOptionButton QtGui qstyleoption.h)
846 katie_generate_obsolete(QStyleOptionComboBox QtGui qstyleoption.h)
847 katie_generate_obsolete(QStyleOptionComplex QtGui qstyleoption.h)
848 katie_generate_obsolete(QStyleOptionDockWidget QtGui qstyleoption.h)
849 katie_generate_obsolete(QStyleOptionDockWidgetV2 QtGui qstyleoption.h)
850 katie_generate_obsolete(QStyleOptionFocusRect QtGui qstyleoption.h)
851 katie_generate_obsolete(QStyleOptionFrame QtGui qstyleoption.h)
852 katie_generate_obsolete(QStyleOptionFrameV2 QtGui qstyleoption.h)
853 katie_generate_obsolete(QStyleOptionFrameV3 QtGui qstyleoption.h)
854 katie_generate_obsolete(QStyleOptionGraphicsItem QtGui qstyleoption.h)
855 katie_generate_obsolete(QStyleOptionGroupBox QtGui qstyleoption.h)
856 katie_generate_obsolete(QStyleOptionHeader QtGui qstyleoption.h)
857 katie_generate_obsolete(QStyleOptionMenuItem QtGui qstyleoption.h)
858 katie_generate_obsolete(QStyleOptionProgressBar QtGui qstyleoption.h)
859 katie_generate_obsolete(QStyleOptionProgressBarV2 QtGui qstyleoption.h)
860 katie_generate_obsolete(QStyleOptionRubberBand QtGui qstyleoption.h)
861 katie_generate_obsolete(QStyleOptionSizeGrip QtGui qstyleoption.h)
862 katie_generate_obsolete(QStyleOptionSlider QtGui qstyleoption.h)
863 katie_generate_obsolete(QStyleOptionSpinBox QtGui qstyleoption.h)
864 katie_generate_obsolete(QStyleOptionTabBarBase QtGui qstyleoption.h)
865 katie_generate_obsolete(QStyleOptionTabBarBaseV2 QtGui qstyleoption.h)
866 katie_generate_obsolete(QStyleOptionTab QtGui qstyleoption.h)
867 katie_generate_obsolete(QStyleOptionTabV2 QtGui qstyleoption.h)
868 katie_generate_obsolete(QStyleOptionTabV3 QtGui qstyleoption.h)
869 katie_generate_obsolete(QStyleOptionTabWidgetFrame QtGui qstyleoption.h)
870 katie_generate_obsolete(QStyleOptionTabWidgetFrameV2 QtGui qstyleoption.h)
871 katie_generate_obsolete(QStyleOptionTitleBar QtGui qstyleoption.h)
872 katie_generate_obsolete(QStyleOptionToolBar QtGui qstyleoption.h)
873 katie_generate_obsolete(QStyleOptionToolBox QtGui qstyleoption.h)
874 katie_generate_obsolete(QStyleOptionToolBoxV2 QtGui qstyleoption.h)
875 katie_generate_obsolete(QStyleOptionToolButton QtGui qstyleoption.h)
876 katie_generate_obsolete(QStyleOptionViewItem QtGui qstyleoption.h)
877 katie_generate_obsolete(QStyleOptionViewItemV2 QtGui qstyleoption.h)
878 katie_generate_obsolete(QStyleOptionViewItemV3 QtGui qstyleoption.h)
879 katie_generate_obsolete(QStyleOptionViewItemV4 QtGui qstyleoption.h)
880 katie_generate_obsolete(QSwipeGesture QtGui qgesture.h)
881 katie_generate_obsolete(QSysInfo QtCore qglobal.h)
882 katie_generate_obsolete(QSystemLocale QtCore qlocale.h)
883 katie_generate_obsolete(QTableWidgetItem QtGui qtablewidget.h)
884 katie_generate_obsolete(QTableWidgetSelectionRange QtGui qtablewidget.h)
885 katie_generate_obsolete(QtAlgorithms QtCore qalgorithms.h)
886 katie_generate_obsolete(QTapAndHoldGesture QtGui qgesture.h)
887 katie_generate_obsolete(QTapGesture QtGui qgesture.h)
888 katie_generate_obsolete(QtCleanUpFunction QtCore qcoreapplication.h)
889 katie_generate_obsolete(QtConfig QtCore qconfig.h)
890 katie_generate_obsolete(QtContainerFwd QtCore qcontainerfwd.h)
891 katie_generate_obsolete(QtDebug QtCore qdebug.h)
892 katie_generate_obsolete(QtEndian QtCore qendian.h)
893 katie_generate_obsolete(QTestAccessibilityEvent QtTest qtestaccessible.h)
894 katie_generate_obsolete(QTestAccessibility QtTest qtestaccessible.h)
895 katie_generate_obsolete(QTestDelayEvent QtTest qtestevent.h)
896 katie_generate_obsolete(QTestEventList QtTest qtestevent.h)
897 katie_generate_obsolete(QTestKeyClicksEvent QtTest qtestevent.h)
898 katie_generate_obsolete(QTestKeyEvent QtTest qtestevent.h)
899 katie_generate_obsolete(QTestMouseEvent QtTest qtestevent.h)
900 katie_generate_obsolete(QtEvents QtGui qevent.h)
901 katie_generate_obsolete(QTextBlockFormat QtGui qtextformat.h)
902 katie_generate_obsolete(QTextBlockGroup QtGui qtextobject.h)
903 katie_generate_obsolete(QTextBlock QtGui qtextobject.h)
904 katie_generate_obsolete(QTextBlockUserData QtGui qtextobject.h)
905 katie_generate_obsolete(QTextCharFormat QtGui qtextformat.h)
906 katie_generate_obsolete(QTextDecoder QtCore qtextcodec.h)
907 katie_generate_obsolete(QTextEncoder QtCore qtextcodec.h)
908 katie_generate_obsolete(QTextFragment QtGui qtextobject.h)
909 katie_generate_obsolete(QTextFrameFormat QtGui qtextformat.h)
910 katie_generate_obsolete(QTextFrameLayoutData QtGui qtextobject.h)
911 katie_generate_obsolete(QTextFrame QtGui qtextobject.h)
912 katie_generate_obsolete(QTextImageFormat QtGui qtextformat.h)
913 katie_generate_obsolete(QTextInlineObject QtGui qtextlayout.h)
914 katie_generate_obsolete(QTextItem QtGui qpaintengine.h)
915 katie_generate_obsolete(QTextLength QtGui qtextformat.h)
916 katie_generate_obsolete(QTextLine QtGui qtextlayout.h)
917 katie_generate_obsolete(QTextListFormat QtGui qtextformat.h)
918 katie_generate_obsolete(QTextObjectInterface QtGui qabstracttextdocumentlayout.h)
919 katie_generate_obsolete(QTextStreamFunction QtCore qtextstream.h)
920 katie_generate_obsolete(QTextStreamManipulator QtCore qtextstream.h)
921 katie_generate_obsolete(QTextTableCellFormat QtGui qtextformat.h)
922 katie_generate_obsolete(QTextTableCell QtGui qtexttable.h)
923 katie_generate_obsolete(QTextTableFormat QtGui qtextformat.h)
924 katie_generate_obsolete(QtGlobal QtCore qglobal.h)
925 katie_generate_obsolete(QTileRules QtGui qdrawutil.h)
926 katie_generate_obsolete(QTimeEdit QtGui qdatetimeedit.h)
927 katie_generate_obsolete(QTime QtCore qdatetime.h)
928 katie_generate_obsolete(QTimerEvent QtCore qcoreevent.h)
929 katie_generate_obsolete(QtMsgHandler QtCore qglobal.h)
930 katie_generate_obsolete(QTouchEvent QtGui qevent.h)
931 katie_generate_obsolete(QtPluginInstanceFunction QtCore qplugin.h)
932 katie_generate_obsolete(QtPlugin QtCore qplugin.h)
933 katie_generate_obsolete(Qt QtCore qnamespace.h)
934 katie_generate_obsolete(QTreeWidgetItem QtGui qtreewidget.h)
935 katie_generate_obsolete(QtTestGui QtTest qtest_gui.h)
936 katie_generate_obsolete(QTypeInfo QtCore qglobal.h)
937 katie_generate_obsolete(QUndoCommand QtGui qundostack.h)
938 katie_generate_obsolete(QUnixPrintWidget QtGui qprintdialog.h)
939 katie_generate_obsolete(QUpdateLaterEvent QtGui qevent.h)
940 katie_generate_obsolete(QVariantHash QtCore qvariant.h)
941 katie_generate_obsolete(QVariantList QtCore qvariant.h)
942 katie_generate_obsolete(QVariantMap QtCore qvariant.h)
943 katie_generate_obsolete(QVBoxLayout QtGui qboxlayout.h)
944 katie_generate_obsolete(QVectorData QtCore qvector.h)
945 katie_generate_obsolete(QVectorIterator QtCore qvector.h)
946 katie_generate_obsolete(QVectorTypedData QtCore qvector.h)
947 katie_generate_obsolete(QWeakPointer QtCore qsharedpointer.h)
948 katie_generate_obsolete(QWhatsThisClickedEvent QtGui qevent.h)
949 katie_generate_obsolete(QWheelEvent QtGui qevent.h)
950 katie_generate_obsolete(QWidgetData QtGui qwidget.h)
951 katie_generate_obsolete(QWidgetItem QtGui qlayoutitem.h)
952 katie_generate_obsolete(QWidgetItemV2 QtGui qlayoutitem.h)
953 katie_generate_obsolete(QWidgetList QtGui qwindowdefs.h)
954 katie_generate_obsolete(QWidgetMapper QtGui qwindowdefs.h)
955 katie_generate_obsolete(QWidgetSet QtGui qwindowdefs.h)
956 katie_generate_obsolete(QWindowStateChangeEvent QtGui qevent.h)
957 katie_generate_obsolete(QWizardPage QtGui qwizard.h)
958 katie_generate_obsolete(QWriteLocker QtCore qreadwritelock.h)
959 katie_generate_obsolete(QX11EmbedContainer QtGui qx11embed_x11.h)
960 katie_generate_obsolete(QX11EmbedWidget QtGui qx11embed_x11.h)
961 katie_generate_obsolete(QX11Info QtGui qx11info_x11.h)
962 katie_generate_obsolete(QXmlAttributes QtXml qxml.h)
963 katie_generate_obsolete(QXmlContentHandler QtXml qxml.h)
964 katie_generate_obsolete(QXmlDeclHandler QtXml qxml.h)
965 katie_generate_obsolete(QXmlDefaultHandler QtXml qxml.h)
966 katie_generate_obsolete(QXmlDTDHandler QtXml qxml.h)
967 katie_generate_obsolete(QXmlEntityResolver QtXml qxml.h)
968 katie_generate_obsolete(QXmlErrorHandler QtXml qxml.h)
969 katie_generate_obsolete(QXmlInputSource QtXml qxml.h)
970 katie_generate_obsolete(QXmlLexicalHandler QtXml qxml.h)
971 katie_generate_obsolete(QXmlLocator QtXml qxml.h)
972 katie_generate_obsolete(QXmlNamespaceSupport QtXml qxml.h)
973 katie_generate_obsolete(QXmlParseException QtXml qxml.h)
974 katie_generate_obsolete(QXmlReader QtXml qxml.h)
975 katie_generate_obsolete(QXmlSimpleReader QtXml qxml.h)
976 katie_generate_obsolete(QXmlStreamAttribute QtXml qxmlstream.h)
977 katie_generate_obsolete(QXmlStreamAttributes QtXml qxmlstream.h)
978 katie_generate_obsolete(QXmlStreamEntityDeclaration QtXml qxmlstream.h)
979 katie_generate_obsolete(QXmlStreamEntityDeclarations QtXml qxmlstream.h)
980 katie_generate_obsolete(QXmlStreamEntityResolver QtXml qxmlstream.h)
981 katie_generate_obsolete(QXmlStreamNamespaceDeclaration QtXml qxmlstream.h)
982 katie_generate_obsolete(QXmlStreamNamespaceDeclarations QtXml qxmlstream.h)
983 katie_generate_obsolete(QXmlStreamNotationDeclaration QtXml qxmlstream.h)
984 katie_generate_obsolete(QXmlStreamNotationDeclarations QtXml qxmlstream.h)
985 katie_generate_obsolete(QXmlStreamReader QtXml qxmlstream.h)
986 katie_generate_obsolete(QXmlStreamWriter QtXml qxmlstream.h)
987 # those have shuffled from QtDesigner to QtUiTools
988 katie_generate_obsolete(formbuilder.h QtDesigner ../QtUiTools/formbuilder.h)
989 katie_generate_obsolete(customwidget.h QtDesigner ../QtUiTools/customwidget.h)
990 katie_generate_obsolete(qdesignercustomwidgetinterface.h QtDesigner ../QtUiTools/customwidget.h)
991
992 katie_string_wrap("${KATIE_DEFINITIONS}" KATIE_DEFINITIONS)
993
994 configure_file(
995     ${CMAKE_SOURCE_DIR}/cmake/KatieConfig.cmake
996     ${CMAKE_BINARY_DIR}/KatieConfig.cmake
997     @ONLY
998 )
999
1000 configure_file(
1001     ${CMAKE_SOURCE_DIR}/cmake/KatieConfigVersion.cmake
1002     ${CMAKE_BINARY_DIR}/KatieConfigVersion.cmake
1003     @ONLY
1004 )
1005
1006 configure_file(
1007     ${CMAKE_SOURCE_DIR}/cmake/ld.so.conf.cmake
1008     ${CMAKE_BINARY_DIR}/ld.so.conf
1009     @ONLY
1010 )
1011
1012 configure_file(
1013     ${CMAKE_SOURCE_DIR}/cmake/profile.sh.cmake
1014     ${CMAKE_BINARY_DIR}/profile.sh
1015     @ONLY
1016 )
1017
1018 install(
1019     FILES
1020     ${CMAKE_BINARY_DIR}/KatieConfig.cmake
1021     ${CMAKE_BINARY_DIR}/KatieConfigVersion.cmake
1022     ${CMAKE_SOURCE_DIR}/cmake/Qt4UseFile.cmake
1023     DESTINATION ${KATIE_CMAKE_PATH}
1024     COMPONENT Devel
1025 )
1026
1027 install(
1028     EXPORT KatieTargets
1029     NAMESPACE Katie::
1030     DESTINATION ${KATIE_CMAKE_PATH}
1031     FILE KatieTargets.cmake
1032     COMPONENT Devel
1033 )
1034
1035 install(
1036     FILES ${CMAKE_BINARY_DIR}/ld.so.conf
1037     DESTINATION ${KATIE_LDCONF_PATH}
1038     RENAME katie-${KATIE_PROCESSOR}.conf
1039     COMPONENT Runtime
1040 )
1041
1042 install(
1043     FILES ${CMAKE_BINARY_DIR}/profile.sh
1044     DESTINATION ${KATIE_PROFILE_PATH}
1045     RENAME katie-${KATIE_PROCESSOR}.sh
1046     COMPONENT Runtime
1047 )
1048
1049 katie_string_unwrap("${KATIE_COMPONENTS}" KATIE_COMPONENTS "Kt")
1050 katie_string_unwrap("${KATIE_TOOLS}" KATIE_TOOLS)
1051
1052 # custom install targets to make packaging easier
1053 add_custom_target(install-devel
1054     COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Devel -P cmake_install.cmake
1055     WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
1056 )
1057
1058 add_custom_target(install-runtime
1059     DEPENDS ${KATIE_COMPONENTS}
1060     COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Runtime -P cmake_install.cmake
1061     WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
1062 )
1063
1064 add_custom_target(install-tools
1065     DEPENDS ${KATIE_TOOLS}
1066     COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Tools -P cmake_install.cmake
1067     WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
1068 )
1069
1070 add_custom_target(install-doc
1071     COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=Doc -P cmake_install.cmake
1072     WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
1073 )
1074
1075 feature_summary(
1076     WHAT ALL
1077     FATAL_ON_MISSING_REQUIRED_PACKAGES
1078 )