~ubuntu-branches/debian/experimental/qtcurve/experimental

« back to all changes in this revision

Viewing changes to .pc/enable-translations.patch/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Boris Pek, Thanks to Scarlett Clark
  • Date: 2015-07-26 04:17:05 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20150726041705-yuxbierbpely1fvp
Tags: 1.8.18+git20150711-a3fff13-1
* Upstream Git snapshot (1.8.18-242-ga3fff13) is taken from:
  http://quickgit.kde.org/?p=qtcurve.git
* Localization files are taken from last stable release (1.8.18).
* Fixed in upstream:
  - gtk2-engines-qtcurve: inkscape 0.91 crashes after palette mouse-over
    (Closes: #786831)
  - gtk2-engines-qtcurve: massive memory leak in mysql-workbench
    (Closes: #682162)
* Update debian/patches:
  - delete qt53-build-fix.diff (fixed in upstream)
  - add enable-translations.patch
* Update debian/control:
  - bump Standards-Version to 3.9.6 (was 3.9.5): no changes required
  - update Build-Depends for transition from KDE4 to KF5:
    + delete dependencies from: kdebase-workspace-dev and qtdeclarative5-dev
    + add dependencies from: extra-cmake-modules, kio-dev,
      libkf5archive-dev, libkf5config-dev, libkf5configwidgets-dev,
      libkf5i18n-dev, libkf5kdelibs4support-dev, libkf5widgetsaddons-dev,
      libkf5xmlgui-dev, libqt5x11extras5-dev, libxcb1-dev, pkg-config
      [Thanks to Scarlett Clark]
  - delete package kwin-style-qtcurve: it is not available for KF5 yet
    (LP: #1452218)
  - package kde-style-qtcurve now provides package kde-style-qtcurve-qt4
  - package kde-style-qtcurve is "Multi-Arch: same" now
  - metapackage qtcurve now depends on kde-style-qtcurve-qt5 and recommends
    kwin-decoration-oxygen, oxygen-icon-theme and oxygencursors
* Update debian/rules:
  - build using kf5 libraries instead of kde4
  - update configure flags
  - use xz compression in packages
* Update debian/kde-style-qtcurve.install:
  there are no KDE4 related files anymore.
* Update debian/kde-style-qtcurve-qt5.install.
* Update debian/copyright.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
project(QtCurve)
 
2
 
 
3
## Temporary
 
4
function(translate_add_sources)
 
5
endfunction()
 
6
 
 
7
## Setup
 
8
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
 
9
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}"
 
10
  "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
 
11
 
 
12
include(CMakeCMacros)
 
13
 
 
14
## Version
 
15
set(QTCURVE_VERSION_MAJOR "1")
 
16
set(QTCURVE_VERSION_MINOR "8")
 
17
set(QTCURVE_VERSION_PATCH "18")
 
18
set(QTCURVE_VERSION "${QTCURVE_VERSION_MAJOR}.${QTCURVE_VERSION_MINOR}")
 
19
set(QTCURVE_VERSION_FULL "${QTCURVE_VERSION}.${QTCURVE_VERSION_PATCH}")
 
20
 
 
21
find_package(Git QUIET)
 
22
add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/version.cpp"
 
23
  DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/tools/gen-version.sh"
 
24
  WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
 
25
add_custom_target(gen-git-ver ALL
 
26
  COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/gen-version.sh"
 
27
  "${CMAKE_CURRENT_BINARY_DIR}/version.cpp" "${QTCURVE_VERSION_FULL}"
 
28
  "${GIT_EXECUTABLE}"
 
29
  DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/version.cpp")
 
30
 
 
31
## Options
 
32
function(qtc_option name doc def_val)
 
33
  if(DEFINED "${name}")
 
34
    set("${name}_DEFINED" On PARENT_SCOPE)
 
35
  else()
 
36
    set("${name}_DEFINED" Off PARENT_SCOPE)
 
37
    set("${name}" "${def_val}" PARENT_SCOPE)
 
38
  endif()
 
39
endfunction()
 
40
qtc_option(ENABLE_QT4 "Building Qt4 theme." On)
 
41
qtc_option(ENABLE_QT5 "Building Qt5 theme." On)
 
42
qtc_option(ENABLE_GTK2 "Building Gtk2 theme." On)
 
43
# option(ENABLE_GTK3 "Building Gtk3 theme." On)
 
44
option(ENABLE_TEST "Enable testing." On)
 
45
option(QTC_ENABLE_X11 "Enable X11" On)
 
46
option(QTC_INSTALL_PO "Install translation files." On)
 
47
 
 
48
qtc_option(QTC_QT4_ENABLE_KDE "Building Qt4 style with KDE4 support." On)
 
49
qtc_option(QTC_QT5_ENABLE_KDE
 
50
  "Building Qt5 style with KDE Frameworks 5 support." On)
 
51
 
 
52
option(QTC_QT4_STYLE_SUPPORT
 
53
  "Qt4 support for creating a style for each QtCurve theme." Off)
 
54
 
 
55
## Common settings.
 
56
# support an infix argument to have different qtcurve-utils libraries, e.g. for
 
57
# GTk2, Qt4 and Qt5
 
58
qtc_option(QTC_UTILSLIB_INFIX "Infix for having multiple qtcurve-utils's" "")
 
59
qtc_option(QTC_KDE4_DEFAULT_HOME
 
60
  "Path of kde4 home (relative to user home), for reading old theme files only"
 
61
  ".kde4")
 
62
 
 
63
if((QTC_KDE4_DEFAULT_HOME STREQUAL ".kde4") OR
 
64
    (QTC_KDE4_DEFAULT_HOME STREQUAL ".kde") OR
 
65
    (QTC_KDE4_DEFAULT_HOME STREQUAL ".kde4/") OR
 
66
    (QTC_KDE4_DEFAULT_HOME STREQUAL ".kde/") OR
 
67
    (QTC_KDE4_DEFAULT_HOME STREQUAL ""))
 
68
  set(QTC_KDE4_DEFAULT_HOME_DEFAULT True)
 
69
else()
 
70
  set(QTC_KDE4_DEFAULT_HOME_DEFAULT False)
 
71
endif()
 
72
 
 
73
find_package(KDE4 QUIET)
 
74
set(KDE4_KDECONFIG_EXECUTABLE)
 
75
find_program(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
 
76
  PATHS "${CMAKE_INSTALL_PREFIX}/bin" ${_KDEDIRS} /opt/kde4/bin
 
77
  NO_DEFAULT_PATH)
 
78
if(NOT KDE4_KDECONFIG_EXECUTABLE)
 
79
  find_program(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config)
 
80
endif()
 
81
 
 
82
function(get_cmd_var varname def cmd)
 
83
  if(DEFINED ${varname})
 
84
    return()
 
85
  endif()
 
86
  if(cmd)
 
87
    execute_process(COMMAND "${cmd}" ${ARGN} OUTPUT_VARIABLE _cmd_out
 
88
      RESULT_VARIABLE _cmd_res)
 
89
    if("${_cmd_res}" EQUAL 0)
 
90
      string(STRIP "${_cmd_out}" _cmd_out)
 
91
    else()
 
92
      set(_cmd_out "${def}")
 
93
    endif()
 
94
  else()
 
95
    set(_cmd_out "${def}")
 
96
  endif()
 
97
  set("${varname}" "${_cmd_out}" PARENT_SCOPE)
 
98
endfunction()
 
99
 
 
100
function(get_kde_var var def)
 
101
  get_cmd_var(_output "${def}" "${KDE4_KDECONFIG_EXECUTABLE}" ${ARGN})
 
102
  set(${var} "${_output}" PARENT_SCOPE)
 
103
endfunction()
 
104
 
 
105
get_kde_var(QTC_KDE4_PREFIX "${CMAKE_INSTALL_PREFIX}" --prefix)
 
106
get_kde_var(QTC_KDE4_ICONS_PREFIX "${QTC_KDE4_PREFIX}/share/icons"
 
107
  --install icon)
 
108
 
 
109
## Handle options
 
110
find_package(Libexecinfo)
 
111
if(LIBEXECINFO_LIB_FOUND)
 
112
  set(QTC_ENABLE_BACKTRACE On)
 
113
else()
 
114
  set(QTC_ENABLE_BACKTRACE Off)
 
115
endif()
 
116
 
 
117
if(QTC_ENABLE_X11)
 
118
  macro(qtc_check_x11)
 
119
    find_package(PkgConfig)
 
120
    if(NOT PKG_CONFIG_FOUND)
 
121
      message(WARNING "Cannot find pkg-config, disable x11 support.")
 
122
      set(QTC_ENABLE_X11 Off)
 
123
      set(QTC_X11_FOUND Off)
 
124
      return()
 
125
    endif()
 
126
    unset(__pkg_config_checked_QTC_X11 CACHE)
 
127
    # pkg_check_modules(QTC_X11 xcb x11-xcb xrender)
 
128
    if(QTC_ENABLE_X11)
 
129
      pkg_check_modules(QTC_X11 xcb x11-xcb)
 
130
    else()
 
131
      pkg_check_modules(QTC_X11 xcb)
 
132
    endif()
 
133
    if(NOT QTC_X11_FOUND AND QTC_ENABLE_X11)
 
134
      message(WARNING
 
135
        "Cannot find required modules for x11, disable x11 support.")
 
136
      set(QTC_ENABLE_X11 Off)
 
137
      return()
 
138
    endif()
 
139
  endmacro()
 
140
  qtc_check_x11()
 
141
else()
 
142
  set(QTC_X11_FOUND Off)
 
143
endif()
 
144
 
 
145
if(QTC_X11_FOUND)
 
146
  include_directories(${QTC_X11_INCLUDE_DIRS})
 
147
  add_definitions(${QTC_X11_CFLAGS})
 
148
else()
 
149
  include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/lib/xcb-defs")
 
150
endif()
 
151
 
 
152
if(ENABLE_GTK2 AND NOT ENABLE_GTK2_DEFINED)
 
153
  find_package(PkgConfig)
 
154
  if(NOT PKG_CONFIG_FOUND)
 
155
    message(WARNING "pkg-config not found, disable Gtk2 build.")
 
156
    set(ENABLE_GTK2 Off)
 
157
  else()
 
158
    unset(__pkg_config_checked_GTK2 CACHE)
 
159
    pkg_check_modules(GTK2 gtk+-2.0)
 
160
    if(NOT GTK2_FOUND)
 
161
      message(WARNING "gtk+-2.0 not found, disable Gtk2 build.")
 
162
      set(ENABLE_GTK2 Off)
 
163
    endif()
 
164
  endif()
 
165
endif()
 
166
 
 
167
if(ENABLE_GTK2)
 
168
  find_package(PkgConfig REQUIRED)
 
169
  unset(__pkg_config_checked_GTK2 CACHE)
 
170
  pkg_check_modules(GTK2 REQUIRED gtk+-2.0)
 
171
  if(GTK2_THEME_PREFIX)
 
172
    set(GTK2_PREFIX "${GTK2_THEME_PREFIX}")
 
173
  elseif(NOT GTK2_PREFIX)
 
174
    set(GTK2_PREFIX "${CMAKE_INSTALL_PREFIX}")
 
175
  endif()
 
176
  if(NOT GTK2_LIBDIR)
 
177
    set(GTK2_LIBDIR "${GTK2_PREFIX}/lib")
 
178
  endif()
 
179
  _pkgconfig_invoke(gtk+-2.0 GTK2 BIN_VERSION "" --variable=gtk_binary_version)
 
180
  set(GTK2_THEME_DIR ${GTK2_PREFIX}/share/themes/QtCurve)
 
181
endif()
 
182
 
 
183
configure_file(config.h.in config.h @ONLY)
 
184
 
 
185
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
 
186
cmake_c_fix_include_path(lib/utils qtcurve-utils)
 
187
cmake_c_fix_include_path(lib/cairo qtcurve-cairo)
 
188
# glibc 2.20 warns about _BSD_SOURCE if _DEFAULT_SOURCE is not defined.
 
189
cmake_c_add_flags(CMAKE_C_FLAGS -Wall -Wextra -Wno-cast-align
 
190
  -std=gnu99 -D_DEFAULT_SOURCE)
 
191
# Register storage class is deprecated in C++11 but is still used in Qt.
 
192
# Use compiler option (-Wno-deprecated-register) to suppress
 
193
# the warning in clang++.
 
194
# We use `override` in certain Qt Classes but the QObject macro does not use it
 
195
# Use compiler option (-Wno-inconsistent-missing-override) to suppress
 
196
# the warning in clang++ 3.6+.
 
197
cmake_c_add_flags(CMAKE_CXX_FLAGS -Wall -Wextra
 
198
  -Wno-deprecated-register -Wno-cast-align
 
199
  -Wno-inconsistent-missing-override)
 
200
if(NOT APPLE)
 
201
  # -std=c++0x is deprecated but gcc < 4.7 do not recognise c++11 ....
 
202
  cmake_c_add_flags(CMAKE_CXX_FLAGS -std=c++0x -D_DEFAULT_SOURCE)
 
203
  cmake_c_add_flags(CMAKE_SHARED_LINKER_FLAGS -Wl,--as-needed -Wl,--no-undefined)
 
204
  cmake_c_add_flags(CMAKE_MODULE_LINKER_FLAGS -Wl,--as-needed -Wl,--no-undefined)
 
205
else()
 
206
  cmake_c_add_flags(CMAKE_CXX_FLAGS -std=c++11)
 
207
endif()
 
208
add_definitions("-D_GNU_SOURCE -pthread")
 
209
 
 
210
if(NOT DEFINED LIB_INSTALL_DIR)
 
211
  set(LIB_INSTALL_DIR lib)
 
212
endif()
 
213
 
 
214
cmake_c_include_fix_path()
 
215
add_subdirectory(lib)
 
216
add_subdirectory(qt4)
 
217
add_subdirectory(qt5)
 
218
add_subdirectory(gtk2)
 
219
add_subdirectory(tools)
 
220
if(ENABLE_TEST)
 
221
  enable_testing()
 
222
  add_subdirectory(test)
 
223
endif()