~ubuntu-branches/ubuntu/wily/kid3/wily

« back to all changes in this revision

Viewing changes to CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Patrick Matthäi
  • Date: 2015-05-12 18:56:41 UTC
  • mfrom: (1.1.19) (2.3.3 sid)
  • Revision ID: package-import@ubuntu.com-20150512185641-hgeys2pingwq9mwn
Tags: 3.2.1-1
* New upstream release.
  - Add new build dependency qt4-dev-tools.
* Uploading to unstable.
* Switch to DEP5 debian/copyright format.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
project(kid3)
22
22
 
23
23
cmake_minimum_required(VERSION 2.8)
 
24
if (POLICY CMP0020)
 
25
  cmake_policy(SET CMP0020 OLD)
 
26
endif (POLICY CMP0020)
 
27
if (POLICY CMP0045)
 
28
  cmake_policy(SET CMP0045 OLD)
 
29
endif (POLICY CMP0045)
24
30
 
25
31
set(BUILD_SHARED_LIBS ON CACHE BOOL "build shared libraries")
26
32
set(WITH_QT4 OFF CACHE BOOL "force use of Qt4")
27
33
set(WITH_QT5 OFF CACHE BOOL "force use of Qt5")
 
34
set(WITH_QML    ON CACHE BOOL "build with QML")
 
35
set(WITH_UBUNTUCOMPONENTS OFF CACHE BOOL "use Ubuntu Components for QML")
28
36
set(WITH_TAGLIB ON CACHE BOOL "build with TagLib")
29
37
set(WITH_MP4V2 OFF CACHE BOOL "build with mp4v2")
30
38
set(WITH_ID3LIB ON CACHE BOOL "build with id3lib")
67
75
  foreach (_app ${_apps_lower})
68
76
    if (_app STREQUAL "qt")
69
77
      set(BUILD_QT_APP ON)
 
78
    elseif (_app STREQUAL "qml")
 
79
      set(BUILD_QML_APP ON)
 
80
      set(WITH_QML ON)
70
81
    elseif (_app STREQUAL "cli")
71
82
      set(BUILD_CLI_APP ON)
72
83
    elseif (_app STREQUAL "kde")
80
91
  endforeach ()
81
92
endif (WITH_APPS)
82
93
 
 
94
if (NOT BUILD_SHARED_LIBS AND WITH_QML)
 
95
  message(WARNING "Switching off WITH_QML because of static build")
 
96
  set(WITH_QML OFF)
 
97
  set(BUILD_QML_APP OFF)
 
98
endif (NOT BUILD_SHARED_LIBS AND WITH_QML)
 
99
 
 
100
 
83
101
# Version information
84
102
set(CPACK_PACKAGE_VERSION_MAJOR 3)
85
 
set(CPACK_PACKAGE_VERSION_MINOR 1)
 
103
set(CPACK_PACKAGE_VERSION_MINOR 2)
86
104
set(CPACK_PACKAGE_VERSION_PATCH 1)
87
105
set(KID3_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
88
106
set(CPACK_PACKAGE_VERSION ${KID3_VERSION})
89
 
#set(CPACK_PACKAGE_VERSION "git20140817")
90
 
set(RELEASE_YEAR 2014)
 
107
#set(CPACK_PACKAGE_VERSION "git20150311")
 
108
set(RELEASE_YEAR 2015)
91
109
 
92
110
# Platform specific default installation paths
93
111
if (APPLE)
94
112
  set(WITH_DATAROOTDIR_DEFAULT "kid3.app/Contents/Resources")
95
113
  set(WITH_DOCDIR_DEFAULT "kid3.app/Contents/Resources")
96
114
  set(WITH_TRANSLATIONSDIR_DEFAULT "kid3.app/Contents/Resources")
 
115
  set(WITH_QMLDIR_DEFAULT "kid3.app/Contents/Resources/qml")
97
116
  set(WITH_BINDIR_DEFAULT ".")
98
117
  set(WITH_LIBDIR_DEFAULT "kid3.app/Contents/MacOS")
99
118
  set(WITH_PLUGINSDIR_DEFAULT "kid3.app/Contents/PlugIns")
101
120
  set(WITH_DATAROOTDIR_DEFAULT ".")
102
121
  set(WITH_DOCDIR_DEFAULT ".")
103
122
  set(WITH_TRANSLATIONSDIR_DEFAULT ".")
 
123
  set(WITH_QMLDIR_DEFAULT "./qml")
104
124
  set(WITH_BINDIR_DEFAULT ".")
105
125
  set(WITH_LIBDIR_DEFAULT ".")
106
126
  set(WITH_PLUGINSDIR_DEFAULT "./plugins")
112
132
  else (BUILD_KDE_APP OR BUILD_SHARED_LIBS)
113
133
    set(WITH_TRANSLATIONSDIR_DEFAULT "share/kid3-qt/translations")
114
134
  endif (BUILD_KDE_APP OR BUILD_SHARED_LIBS)
 
135
  set(WITH_QMLDIR_DEFAULT "share/kid3/qml")
115
136
  set(WITH_BINDIR_DEFAULT "bin")
116
137
  set(WITH_LIBDIR_DEFAULT "lib${LIB_SUFFIX}/kid3")
117
138
  set(WITH_PLUGINSDIR_DEFAULT "${WITH_LIBDIR_DEFAULT}/plugins")
131
152
    "plugin directory relative to CMAKE_INSTALL_PREFIX")
132
153
set(WITH_MANDIR ${WITH_DATAROOTDIR}/man CACHE STRING
133
154
    "man documentation directory relative to CMAKE_INSTALL_PREFIX")
 
155
set(WITH_QMLDIR ${WITH_QMLDIR_DEFAULT} CACHE STRING
 
156
    "QML directory relative to CMAKE_INSTALL_PREFIX")
134
157
if (CMAKE_INSTALL_PREFIX)
135
158
  set(CMAKE_INSTALL_PREFIX_SLASH "${CMAKE_INSTALL_PREFIX}/")
136
159
else (CMAKE_INSTALL_PREFIX)
141
164
file(RELATIVE_PATH CFG_DATAROOTDIR "/kid3.app/Contents/MacOS" /${WITH_DATAROOTDIR})
142
165
file(RELATIVE_PATH CFG_DOCDIR "/kid3.app/Contents/MacOS" /${WITH_DOCDIR})
143
166
file(RELATIVE_PATH CFG_TRANSLATIONSDIR "/kid3.app/Contents/MacOS" /${WITH_TRANSLATIONSDIR})
 
167
file(RELATIVE_PATH CFG_QMLDIR "/kid3.app/Contents/MacOS" /${WITH_QMLDIR})
144
168
file(RELATIVE_PATH CFG_PLUGINSDIR "/kid3.app/Contents/MacOS" /${WITH_PLUGINSDIR})
145
169
else (APPLE)
146
170
set(CFG_DATAROOTDIR ${CMAKE_INSTALL_PREFIX_SLASH}${WITH_DATAROOTDIR})
147
171
set(CFG_DOCDIR ${CMAKE_INSTALL_PREFIX_SLASH}${WITH_DOCDIR})
148
172
set(CFG_TRANSLATIONSDIR ${CMAKE_INSTALL_PREFIX_SLASH}${WITH_TRANSLATIONSDIR})
 
173
set(CFG_QMLDIR ${CMAKE_INSTALL_PREFIX_SLASH}${WITH_QMLDIR})
149
174
file(RELATIVE_PATH CFG_PLUGINSDIR /${WITH_BINDIR} /${WITH_PLUGINSDIR})
150
175
endif (APPLE)
 
176
set(CFG_QMLSRCDIR "${kid3_SOURCE_DIR}/src/qml")
151
177
 
152
178
find_package(Threads)
153
179
find_package(Perl REQUIRED)
167
193
 
168
194
if (NOT WITH_QT5 AND NOT _qt5Dir)
169
195
  set(_QT4_COMPONENTS QtCore QtGui QtNetwork QtXml)
 
196
  if (WITH_QML)
 
197
    set(_QT4_COMPONENTS ${_QT4_COMPONENTS} QtDeclarative)
 
198
  endif (WITH_QML)
170
199
  if (WIN32)
171
200
    set(QT_USE_QTMAIN TRUE)
172
201
  endif (WIN32)
196
225
      if (WITH_DBUS)
197
226
        set(Qt5DBus_DIR "${_qt5Dir}/lib/cmake/Qt5DBus")
198
227
      endif (WITH_DBUS)
 
228
      if (WITH_QML)
 
229
        set(Qt5Qml_DIR "${_qt5Dir}/lib/cmake/Qt5Qml")
 
230
        set(Qt5Quick_DIR "${_qt5Dir}/lib/cmake/Qt5Quick")
 
231
      endif (WITH_QML)
199
232
    endif (Qt5Core_FOUND)
200
233
  else (_qt5Dir)
201
234
    find_package(Qt5Core)
210
243
    if (WITH_DBUS)
211
244
      set(_qt5Components ${_qt5Components} DBus)
212
245
    endif (WITH_DBUS)
 
246
    if (WITH_QML)
 
247
      set(_qt5Components ${_qt5Components} Qml Quick)
 
248
    endif (WITH_QML)
213
249
    foreach (_qt5Component ${_qt5Components})
214
250
      find_package("Qt5${_qt5Component}")
215
251
      if (Qt5${_qt5Component}_FOUND)
341
377
  set(ZLIB_LIBRARIES -lz)
342
378
endif (WIN32)
343
379
 
 
380
### Check for QML
 
381
if (WITH_QML AND (QT_QTDECLARATIVE_FOUND OR Qt5Qml_FOUND))
 
382
  set(HAVE_QML 1)
 
383
endif (WITH_QML AND (QT_QTDECLARATIVE_FOUND OR Qt5Qml_FOUND))
 
384
 
344
385
### Check for libQtDBus
345
386
if (WITH_DBUS AND QT_QTDBUS_LIBRARY)
346
387
  set(HAVE_QTDBUS 1)
350
391
include(CheckIncludeFile)
351
392
check_include_file("mntent.h" HAVE_MNTENT_H)
352
393
 
353
 
set(QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_ASCII_CAST_WARNINGS -DQT_NO_CAST_TO_ASCII)
 
394
set(QT_DEFINITIONS ${QT_DEFINITIONS}
 
395
  -DQT_ASCII_CAST_WARNINGS -DQT_NO_CAST_TO_ASCII -DQT_NO_URL_CAST_FROM_STRING)
354
396
 
355
397
 
356
398
### Check for Phonon
389
431
  add_definitions("/Zc:wchar_t-")
390
432
endif (MSVC)
391
433
if (APPLE)
392
 
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.5")
393
 
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5")
 
434
  exec_program(sw_vers ARGS -productVersion OUTPUT_VARIABLE _osxVersion)
 
435
  if (_osxVersion VERSION_LESS "10.10")
 
436
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.5")
 
437
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5")
 
438
  else (_osxVersion VERSION_LESS "10.10")
 
439
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.7")
 
440
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.7 -stdlib=libc++")
 
441
    set(CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS} -stdlib=libc++")
 
442
  endif (_osxVersion VERSION_LESS "10.10")
394
443
endif (APPLE)
395
444
add_definitions(${QT_DEFINITIONS} -DHAVE_CONFIG_H=1 -DQT_NO_EXCEPTIONS -DQT_NO_STL)
396
445
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${QT_INCLUDES} ${PHONON_INCLUDE_DIR})