~ubuntu-branches/ubuntu/oneiric/pyside/oneiric

« back to all changes in this revision

Viewing changes to PySide/QtGui/CMakeLists.txt

  • Committer: Bazaar Package Importer
  • Author(s): Didier Raboud
  • Date: 2010-09-27 21:01:06 UTC
  • mfrom: (1.2.1 upstream) (6.1.3 experimental)
  • Revision ID: james.westby@ubuntu.com-20100927210106-m1nrq8vmd3exqb9o
Tags: 0.4.1-0ubuntu1
* New 0.4.1 upstream release. (LP: #648612)
  - Add some 0.4.1 symbols.

* Patches:
  - u_c130273_fix_py25_QtScript_property.patch
    Remove, was from upstream.
  - u_20e226b_fix_missing_qcoreapplication_arguments_method.patch
    Remove, was from upstream.
  - u_268bf77_fixed_signal_signature_parser.patch
    Remove, was from upstream.
  + libPythonVersionPostfix.patch: Refresh
  + usePySpecificShiboken.patch: Refresh
  + lessBuildVerbosity.patch: Refresh

* Bump the B-D chain versions.
* Make sure the private.py is installed in QtCore module.
* Build against Qt 4.7.
  - Add libqtwebkit-dev
  - Drop QtMultimedia module.
  - Add the QtDeclarative package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
project(QtGui)
2
2
 
3
 
# Check QtGui support
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}})
8
 
        endif()
9
 
    else()
10
 
        set(SRC_FILE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test${qt_macro}.cxx)
11
 
        file(WRITE ${SRC_FILE}
12
 
        "#include <QtGui>\n"
13
 
        "int main() { \n"
14
 
        "#ifdef ${qt_macro}\n"
15
 
        "#error not supported.\n"
16
 
        "#endif\n"
17
 
        "}\n")
18
 
 
19
 
        try_compile(Q_WORKS ${CMAKE_BINARY_DIR}
20
 
                    ${SRC_FILE}
21
 
                    CMAKE_FLAGS
22
 
                    -DINCLUDE_DIRECTORIES:STRING=${QT_QTGUI_INCLUDE_DIR}\;${QT_INCLUDE_DIR}
23
 
                    -DLINK_LIBRARIES:PATH=${QT_QTGUI_LIBRARY_RELEASE}
24
 
                    OUTPUT_VARIABLE OUTPUT)
25
 
 
26
 
        set("PYSIDE_${qt_macro}" ${Q_WORKS} CACHE STRING "Has this Qt module been found by pyside?")
27
 
        if(Q_WORKS)
28
 
            message(STATUS "Testing support to ${macro_display_name} -- enabled")
29
 
            list(APPEND ${global_sources} ${${module_sources}})
30
 
        else()
31
 
            message(STATUS "Testing support to ${macro_display_name} -- disabled")
32
 
        endif()
33
 
    endif()
34
 
endmacro(CHECK_QT_GUI_MACRO)
35
 
 
36
3
if(ENABLE_X11)
37
 
    set(MODULE_NAME "x11")
38
4
    set(SPECIFIC_OS_FILES
39
5
        ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qx11info_wrapper.cpp
40
6
       )
41
7
 
42
8
    if(Q_WS_MAEMO_5)
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
48
12
        )
49
 
    endif(Q_WS_MAEMO_5)
50
 
 
51
 
elseif(ENABLE_MAC)
52
 
    set(MODULE_NAME "mac")
53
 
    set(SPECIFIC_OS_FILES
54
 
       )
55
 
endif(ENABLE_X11)
 
13
    endif()
 
14
endif()
56
15
 
57
16
 
58
17
if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6)
94
53
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qvector3d_wrapper.cpp
95
54
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qvector4d_wrapper.cpp
96
55
    )
97
 
endif (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6)
 
56
endif ()
 
57
 
 
58
qt4_wrap_cpp(QPYTEXTOBJECT_MOC "${pyside_SOURCE_DIR}/qpytextobject.h")
98
59
 
99
60
set(QtGui_SRC
100
61
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qabstractbutton_wrapper.cpp
268
229
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprogressbar_wrapper.cpp
269
230
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprogressdialog_wrapper.cpp
270
231
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qproxymodel_wrapper.cpp
 
232
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qpytextobject_wrapper.cpp
271
233
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qpushbutton_wrapper.cpp
272
234
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qradialgradient_wrapper.cpp
273
235
${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qradiobutton_wrapper.cpp
414
376
${QtGui_46_SRC}
415
377
)
416
378
 
417
 
#Check GtkStyle
418
 
set(QT_GTKSTYLE_SRCS
419
 
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qgtkstyle_wrapper.cpp
420
 
)
421
 
CHECK_QT_GUI_MACRO("GtkStyle" QT_NO_STYLE_GTK QT_GTKSTYLE_SRCS QtGui_SRC)
422
 
 
423
 
#Check SystemTray
424
 
set(QT_SYSTEMTRAY_SRCS
425
 
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qsystemtrayicon_wrapper.cpp
426
 
)
427
 
CHECK_QT_GUI_MACRO("SystemTray" QT_NO_SYSTEMTRAYICON QT_SYSTEMTRAY_SRCS QtGui_SRC)
428
 
 
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
435
 
)
436
 
CHECK_QT_GUI_MACRO("PrintDialog Support" QT_NO_PRINTDIALOG QT_PRINTDIALOG_SRCS QtGui_SRC)
437
 
 
438
 
#Check QT_PRITPREVIEW support
439
 
set(QT_PRINTPREVIEW_SRCS
440
 
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprintpreviewwidget_wrapper.cpp
441
 
)
442
 
CHECK_QT_GUI_MACRO("PrintPreview Support" QT_NO_PRINTPREVIEWWIDGET QT_PRINTPREVIEW_SRCS QtGui_SRC)
443
 
 
444
 
#Check QT_PRINTPREVIEWDIALOG support
445
 
set(QT_PRINTPREVIEWDIALOG_SRCS
446
 
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qprintpreviewdialog_wrapper.cpp
447
 
)
448
 
CHECK_QT_GUI_MACRO("PrintPreviewDialog Support" QT_NO_PRINTPREVIEWDIALOG QT_PRINTPREVIEWDIALOG_SRCS QtGui_SRC)
449
 
 
450
 
#Check QT_PRINTER
451
 
set(QT_PRINTER_SRCS
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
455
 
)
456
 
CHECK_QT_GUI_MACRO("Printer Support" QT_NO_PRINTER QT_PRINTER_SRCS QtGui_SRC)
457
 
 
458
 
#Check QT_SIZEGRIP support
459
 
set(QT_SIZEGRIP_SRCS
460
 
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qsizegrip_wrapper.cpp
461
 
)
462
 
CHECK_QT_GUI_MACRO("SizeGrip Support" QT_NO_SIZEGRIP QT_SIZEGRIP_SRCS QtGui_SRC)
463
 
 
464
 
#Check QT_SESSIONMANAGER support
465
 
set(QT_SESSIONMANAGER_SRCS
466
 
    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qsessionmanager_wrapper.cpp
467
 
)
468
 
CHECK_QT_GUI_MACRO("SessionManager Support" QT_NO_SESSIONMANAGER QT_SESSIONMANAGER_SRCS QtGui_SRC)
469
 
 
470
 
configure_file(typesystem_gui.xml.in
 
379
 
 
380
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/typesystem_gui.xml.in"
471
381
               "${CMAKE_CURRENT_BINARY_DIR}/typesystem_gui.xml" @ONLY)
472
382
 
473
 
execute_generator(gui QtGui_SRC "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtCore_BINARY_DIR}")
474
 
 
475
 
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
476
 
                    ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/
477
 
                    ${QT_INCLUDE_DIR}
478
 
                    ${SHIBOKEN_INCLUDE_DIR}
479
 
                    ${libpyside_SOURCE_DIR}
480
 
                    ${PYTHON_INCLUDE_PATH}
481
 
                    ${QtCore_BINARY_DIR}/PySide/QtCore/
482
 
                    )
483
 
add_library(QtGui MODULE ${QtGui_SRC})
484
 
set_property(TARGET QtGui PROPERTY PREFIX "")
485
 
target_link_libraries(QtGui
486
 
                      pyside
487
 
                      ${PYTHON_LIBRARIES}
 
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)
 
387
 
 
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)
 
397
 
 
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/
 
401
                        ${pyside_SOURCE_DIR}
 
402
                        ${QT_INCLUDE_DIR}
 
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}
489
 
                      ${QT_QTGUI_LIBRARY}
490
 
                      )
491
 
add_dependencies(QtGui QtCore)
492
 
 
493
 
# install
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/)
 
410
                      ${QT_QTGUI_LIBRARY})
 
411
set(QtGui_deps "QtCore")
 
412
 
 
413
create_pyside_module(QtGui
 
414
                     QtGui_include_dirs
 
415
                     QtGui_libraries
 
416
                     QtGui_deps
 
417
                     QtGui_typesystem_path
 
418
                     QtGui_SRC
 
419
                     "${CMAKE_CURRENT_BINARY_DIR}/typesystem_gui.xml"
 
420
                     QPYTEXTOBJECT_MOC)
 
421
 
 
422
 
 
423
install(FILES ${pyside_SOURCE_DIR}/qpytextobject.h DESTINATION include/PySide/QtGui/)