OSDN Git Service

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