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

« back to all changes in this revision

Viewing changes to 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:
3
3
project(pysidebindings)
4
4
 
5
5
cmake_minimum_required(VERSION 2.6)
6
 
 
7
 
if(CMAKE_HOST_UNIX)
 
6
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules/
 
7
                      ${CMAKE_MODULE_PATH})
 
8
find_package(PythonLibs REQUIRED)
 
9
find_package(PythonInterpWithDebug REQUIRED)
 
10
find_package(GeneratorRunner 0.6 REQUIRED)
 
11
find_package(Shiboken 0.5 REQUIRED)
 
12
find_package(Qt4 4.5.0 REQUIRED)
 
13
 
 
14
find_program(XVFB_RUN NAMES xvfb-run)
 
15
set(XVFB_EXEC "")
 
16
if (NOT ${XVFB_RUN} MATCHES "XVFB_RUN-NOTFOUND")
 
17
    set(XVFB_EXEC ${XVFB_RUN})
 
18
    message("Using xvfb-run to perform QtGui tests.")
 
19
endif()
 
20
 
 
21
option(ENABLE_VERSION_SUFFIX "Used to use current version in suffix to generated files. This is used to allow multiples versions installed simultaneous." FALSE)
 
22
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
 
23
set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
 
24
if(CMAKE_HOST_APPLE)
 
25
    set(ALTERNATIVE_QT_INCLUDE_DIR "" CACHE PATH "The Alternative value to QT_INCLUDE_DIR. Necessary to fix bug on cmake 2.8 MACOS users")
 
26
endif()
 
27
 
 
28
if(MSVC)
 
29
    set(CMAKE_CXX_FLAGS "/Zc:wchar_t- /GR /EHsc /DNOCOLOR /DWIN32 /D_WINDOWS /D_SCL_SECURE_NO_WARNINGS")
 
30
else()
 
31
    if(CMAKE_HOST_UNIX)
 
32
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden -Wno-strict-aliasing")
 
33
    endif()
 
34
    set(CMAKE_CXX_FLAGS_DEBUG "-g")
8
35
    option(ENABLE_GCC_OPTIMIZATION "Enable specific GCC flags to optimization library size and performance. Only available on Release Mode" 0)
9
 
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden -Wno-strict-aliasing")
10
 
    set(CMAKE_CXX_FLAGS_DEBUG "-g")
11
36
    if(ENABLE_GCC_OPTIMIZATION)
12
37
        set(CMAKE_BUILD_TYPE Release)
13
38
        set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -Os -Wl,-O1")
19
44
    if(CMAKE_HOST_APPLE)
20
45
        if (NOT QT_INCLUDE_DIR)
21
46
            set(QT_INCLUDE_DIR "/Library/Frameworks")
22
 
         endif()
 
47
        endif()
 
48
        if(ALTERNATIVE_QT_INCLUDE_DIR)
 
49
            set(QT_INCLUDE_DIR ${ALTERNATIVE_QT_INCLUDE_DIR})
 
50
        endif()
 
51
        string(REPLACE " " ":" QT_INCLUDE_DIR ${QT_INCLUDE_DIR})
23
52
    endif()
24
53
endif()
25
54
 
33
62
    message(STATUS "Avoiding protected hack!")
34
63
endif()
35
64
 
36
 
find_package(PythonLibs REQUIRED)
37
 
find_package(PythonInterp REQUIRED)
38
 
find_package(Shiboken REQUIRED)
39
 
find_package(Qt4 4.5.0 REQUIRED)
40
 
 
41
65
set(BINDING_NAME PySide)
42
66
set(BINDING_API_MAJOR_VERSION "0")
43
 
set(BINDING_API_MINOR_VERSION "3")
44
 
set(BINDING_API_MICRO_VERSION "2")
45
 
set(BINDING_API_VERSION "${BINDING_API_MAJOR_VERSION}.${BINDING_API_MINOR_VERSION}.${BINDING_API_MICRO_VERSION}")
46
 
 
47
 
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
48
 
set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
49
 
 
50
 
if (NOT CMAKE_BUILD_TYPE)
51
 
    set(CMAKE_BUILD_TYPE Release)
 
67
set(BINDING_API_MINOR_VERSION "4")
 
68
set(BINDING_API_MICRO_VERSION "1")
 
69
set(BINDING_API_VERSION "${BINDING_API_MAJOR_VERSION}.${BINDING_API_MINOR_VERSION}.${BINDING_API_MICRO_VERSION}" CACHE STRING "PySide version" FORCE)
 
70
set(PYSIDE_QT_VERSION "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}" CACHE STRING "Qt version used to compile PySide" FORCE)
 
71
if(ENABLE_VERSION_SUFFIX)
 
72
      set(pyside_SUFFIX "-${BINDING_API_MAJOR_VERSION}.${BINDING_API_MINOR_VERSION}")
52
73
endif()
53
74
 
54
75
include(${QT_USE_FILE})
57
78
endif()
58
79
 
59
80
# Configure OS support
 
81
set(ENABLE_X11 "0")
 
82
set(ENABLE_MAC "0")
 
83
set(ENABLE_WIN "0")
 
84
set(ENABLE_SIMULATOR "0")
60
85
if(Q_WS_X11)
61
86
    set(ENABLE_X11 "1")
62
 
    set(ENABLE_MAC "0")
63
 
    set(ENABLE_WIN "0")
64
87
    if(Q_WS_MAEMO_5)
65
 
        set(AUTO_OS "MAEMO 5")
 
88
        set(AUTO_OS "maemo")
66
89
    else()
67
 
        set(AUTO_OS "X11")
 
90
        set(AUTO_OS "x11")
68
91
    endif()
69
92
elseif(Q_WS_MAC)
70
 
    set(ENABLE_X11 "0")
71
93
    set(ENABLE_MAC "1")
72
 
    set(ENABLE_WIN "0")
73
 
    set(AUTO_OS "MAC")
 
94
    set(AUTO_OS "mac")
74
95
elseif(Q_WS_WIN)
75
 
    set(ENABLE_X11 "0")
76
 
    set(ENABLE_MAC "0")
77
96
    set(ENABLE_WIN "1")
78
 
    set(AUTO_OS "WIN")
 
97
    set(AUTO_OS "win")
 
98
elseif(Q_WS_SIMULATOR)
 
99
    set(ENABLE_SIMULATOR "1")
 
100
    set(AUTO_OS "simulator")
79
101
else()
80
102
    message(FATAL_ERROR "OS not supported")
81
103
endif()
82
104
message(STATUS "Detected OS: ${AUTO_OS}")
83
105
 
 
106
if (WIN32)
 
107
    set(PATH_SEP "\;")
 
108
else()
 
109
    set(PATH_SEP ":")
 
110
endif()
 
111
 
84
112
# Define supported Qt Version
85
113
if(${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} GREATER 6)
86
114
    set(SUPPORTED_QT_VERSION 4.7)
89
117
endif()
90
118
 
91
119
set(BINDING_VERSION ${BINDING_API_VERSION}.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR})
92
 
find_program(GENERATOR generatorrunner REQUIRED)
93
 
 
94
 
if (NOT GENERATOR)
95
 
    message(FATAL_ERROR "You need to specify GENERATOR variable (-DGENERATOR=value)")
96
 
endif()
97
120
 
98
121
# uninstall target
99
122
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake"
113
136
            echo "Source package created at ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar.bz2.\n"
114
137
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
115
138
 
 
139
if (NOT SITE_PACKAGE)
 
140
    execute_process(
 
141
        COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; \\
 
142
            print sysconfig.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}')"
 
143
        OUTPUT_VARIABLE SITE_PACKAGE
 
144
        OUTPUT_STRIP_TRAILING_WHITESPACE)
 
145
    if (NOT SITE_PACKAGE)
 
146
        message(FATAL_ERROR "Could not detect Python module installation directory.")
 
147
    elseif (APPLE)
 
148
        message(STATUS "!!! The generated bindings will be installed on ${SITE_PACKAGE}, is it right!?")
 
149
    endif()
 
150
endif()
 
151
 
 
152
# Detect if the python libs were compiled in debug mode
116
153
execute_process(
117
154
    COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; \\
118
 
        print sysconfig.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}')"
119
 
    OUTPUT_VARIABLE SITE_PACKAGE
 
155
        print sysconfig.get_config_var('Py_DEBUG')"
 
156
    OUTPUT_VARIABLE PY_DEBUG
120
157
    OUTPUT_STRIP_TRAILING_WHITESPACE)
121
 
if (NOT SITE_PACKAGE)
122
 
    message(FATAL_ERROR "Could not detect Python module installation directory.")
 
158
 
 
159
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
 
160
    if(NOT PYTHON_DEBUG_LIBRARIES)
 
161
        message(FATAL_ERROR "Python debug library not found. Try compile PySide with -DCMAKE_BUILD_TYPE=Release")
 
162
    endif()
 
163
    if(NOT PY_DEBUG)
 
164
        message(WARNING "Compiling PySide with debug enabled, but the python executable was not compiled with debug support.")
 
165
    else()
 
166
        add_definitions("-DPy_DEBUG")
 
167
    endif()
 
168
    set(PYSIDE_PYTHON_LIBRARIES ${PYTHON_DEBUG_LIBRARIES})
 
169
else()
 
170
    set(PYSIDE_PYTHON_LIBRARIES ${PYTHON_LIBRARIES})
123
171
endif()
124
172
 
125
 
set(GENERATOR_EXTRA_FLAGS --generatorSet=shiboken --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --silent)
 
173
 
 
174
set(GENERATOR_EXTRA_FLAGS --generatorSet=/usr/lib/generatorrunner/shiboken_generator${SHIBOKEN_POSTFIX}.so --enable-parent-ctor-heuristic --enable-pyside-extensions --enable-return-value-heuristic --silent)
126
175
 
127
176
enable_testing()
128
177