4
macro(CHECK_QT_GUI_MACRO macro_display_name qt_macro module_sources global_sources)
5
if (DEFINED PYSIDE_${qt_macro})
6
if (PYSIDE_${qt_macro})
7
list(APPEND ${global_sources} ${${module_sources}})
10
set(SRC_FILE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test${qt_macro}.cxx)
11
file(WRITE ${SRC_FILE}
14
"#ifdef ${qt_macro}\n"
15
"#error not supported.\n"
19
try_compile(Q_WORKS ${CMAKE_BINARY_DIR}
22
-DINCLUDE_DIRECTORIES:STRING=${QT_QTGUI_INCLUDE_DIR}\;${QT_INCLUDE_DIR}
23
-DLINK_LIBRARIES:PATH=${QT_QTGUI_LIBRARY_RELEASE}
24
OUTPUT_VARIABLE OUTPUT)
26
set("PYSIDE_${qt_macro}" ${Q_WORKS} CACHE STRING "Has this Qt module been found by pyside?")
28
message(STATUS "Testing support to ${macro_display_name} -- enabled")
29
list(APPEND ${global_sources} ${${module_sources}})
31
message(STATUS "Testing support to ${macro_display_name} -- disabled")
34
endmacro(CHECK_QT_GUI_MACRO)
37
set(MODULE_NAME "x11")
38
4
set(SPECIFIC_OS_FILES
39
5
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qx11info_wrapper.cpp
43
set(AUTO_OS "MAEMO 5")
44
set(MODULE_NAME "maemo")
45
9
set(SPECIFIC_OS_FILES
46
10
${SPECIFIC_OS_FILES}
47
11
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractkineticscroller_wrapper.cpp
52
set(MODULE_NAME "mac")
58
17
if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6)
419
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qgtkstyle_wrapper.cpp
421
CHECK_QT_GUI_MACRO("GtkStyle" QT_NO_STYLE_GTK QT_GTKSTYLE_SRCS QtGui_SRC)
424
set(QT_SYSTEMTRAY_SRCS
425
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qsystemtrayicon_wrapper.cpp
427
CHECK_QT_GUI_MACRO("SystemTray" QT_NO_SYSTEMTRAYICON QT_SYSTEMTRAY_SRCS QtGui_SRC)
429
#Check QT_PRINTDIALOG support
430
set(QT_PRINTDIALOG_SRCS
431
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractpagesetupdialog_wrapper.cpp
432
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractprintdialog_wrapper.cpp
433
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qpagesetupdialog_wrapper.cpp
434
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprintdialog_wrapper.cpp
436
CHECK_QT_GUI_MACRO("PrintDialog Support" QT_NO_PRINTDIALOG QT_PRINTDIALOG_SRCS QtGui_SRC)
438
#Check QT_PRITPREVIEW support
439
set(QT_PRINTPREVIEW_SRCS
440
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprintpreviewwidget_wrapper.cpp
442
CHECK_QT_GUI_MACRO("PrintPreview Support" QT_NO_PRINTPREVIEWWIDGET QT_PRINTPREVIEW_SRCS QtGui_SRC)
444
#Check QT_PRINTPREVIEWDIALOG support
445
set(QT_PRINTPREVIEWDIALOG_SRCS
446
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprintpreviewdialog_wrapper.cpp
448
CHECK_QT_GUI_MACRO("PrintPreviewDialog Support" QT_NO_PRINTPREVIEWDIALOG QT_PRINTPREVIEWDIALOG_SRCS QtGui_SRC)
452
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprinter_wrapper.cpp
453
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprinterinfo_wrapper.cpp
454
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprintengine_wrapper.cpp
456
CHECK_QT_GUI_MACRO("Printer Support" QT_NO_PRINTER QT_PRINTER_SRCS QtGui_SRC)
458
#Check QT_SIZEGRIP support
460
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qsizegrip_wrapper.cpp
462
CHECK_QT_GUI_MACRO("SizeGrip Support" QT_NO_SIZEGRIP QT_SIZEGRIP_SRCS QtGui_SRC)
464
#Check QT_SESSIONMANAGER support
465
set(QT_SESSIONMANAGER_SRCS
466
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qsessionmanager_wrapper.cpp
468
CHECK_QT_GUI_MACRO("SessionManager Support" QT_NO_SESSIONMANAGER QT_SESSIONMANAGER_SRCS QtGui_SRC)
470
configure_file(typesystem_gui.xml.in
380
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/typesystem_gui.xml.in"
471
381
"${CMAKE_CURRENT_BINARY_DIR}/typesystem_gui.xml" @ONLY)
473
execute_generator(gui QtGui_SRC "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtCore_BINARY_DIR}")
475
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
476
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/
478
${SHIBOKEN_INCLUDE_DIR}
479
${libpyside_SOURCE_DIR}
480
${PYTHON_INCLUDE_PATH}
481
${QtCore_BINARY_DIR}/PySide/QtCore/
483
add_library(QtGui MODULE ${QtGui_SRC})
484
set_property(TARGET QtGui PROPERTY PREFIX "")
485
target_link_libraries(QtGui
383
check_qt_class(QtGui QGtkStyle QtGui_SRC)
384
check_qt_class(QtGui QSessionManager QtGui_SRC)
385
check_qt_class(QtGui QSizeGrip QtGui_SRC)
386
check_qt_class(QtGui QSystemTrayIcon QtGui_SRC)
388
check_qt_class(QtGui QAbstractPageSetupDialog QtGui_SRC)
389
check_qt_class(QtGui QAbstractPrintDialog QtGui_SRC)
390
check_qt_class(QtGui QPageSetupDialog QtGui_SRC)
391
check_qt_class(QtGui QPrintDialog QtGui_SRC)
392
check_qt_class(QtGui QPrintPreviewWidget QtGui_SRC)
393
check_qt_class(QtGui QPrintPreviewDialog QtGui_SRC)
394
check_qt_class(QtGui QPrinter QtGui_SRC)
395
check_qt_class(QtGui QPrinterInfo QtGui_SRC)
396
check_qt_class(QtGui QPrintEngine QtGui_SRC)
398
set(QtGui_typesystem_path "${QtCore_SOURCE_DIR}${PATH_SEP}${QtGui_SOURCE_DIR}")
399
set(QtGui_include_dirs ${CMAKE_CURRENT_SOURCE_DIR}
400
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/
403
${SHIBOKEN_INCLUDE_DIR}
404
${libpyside_SOURCE_DIR}
405
${PYTHON_INCLUDE_PATH}
406
${QtCore_BINARY_DIR}/PySide/QtCore/)
407
set(QtGui_libraries pyside
408
${PYSIDE_PYTHON_LIBRARIES}
488
409
${SHIBOKEN_LIBRARY}
491
add_dependencies(QtGui QtCore)
494
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtGui${CMAKE_DEBUG_POSTFIX}.so DESTINATION "${SITE_PACKAGE}/PySide")
495
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/pyside_qtgui_python.h
496
DESTINATION include/PySide/QtGui/)
411
set(QtGui_deps "QtCore")
413
create_pyside_module(QtGui
417
QtGui_typesystem_path
419
"${CMAKE_CURRENT_BINARY_DIR}/typesystem_gui.xml"
423
install(FILES ${pyside_SOURCE_DIR}/qpytextobject.h DESTINATION include/PySide/QtGui/)