Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
Show First 20 Lines • Show All 245 Lines • ▼ Show 20 Line(s) | |||||
246 | endif(MINGW) | 246 | endif(MINGW) | ||
247 | 247 | | |||
248 | ######################## | 248 | ######################## | ||
249 | ######################### | 249 | ######################### | ||
250 | ## Look for KDE and Qt ## | 250 | ## Look for KDE and Qt ## | ||
251 | ######################### | 251 | ######################### | ||
252 | ######################## | 252 | ######################## | ||
253 | 253 | | |||
254 | | ||||
255 | # FIXME: Apparently there is no better way to do this in android toolchain | ||||
vkrause: Apparently there is, as no other application on binary factory seems to need this ;-)
Setting… | |||||
I tried using it and other variables, but couldn't get cmake to find the packages. sh-zam: I tried using it and other variables, but couldn't get cmake to find the packages.
related… | |||||
256 | if(ANDROID) | ||||
257 | set (Qt5_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5/) | ||||
258 | set (Qt5Core_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Core/) | ||||
259 | set (Qt5Gui_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Gui/) | ||||
260 | set (Qt5Widgets_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Widgets/) | ||||
261 | set (Qt5Xml_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Xml/) | ||||
262 | set (Qt5Network_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Network/) | ||||
263 | set (Qt5PrintSupport_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5PrintSupport/) | ||||
264 | set (Qt5Svg_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Svg/) | ||||
265 | set (Qt5Test_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Test/) | ||||
266 | set (Qt5Concurrent_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Concurrent/) | ||||
267 | set (Qt5Multimedia_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Multimedia/) | ||||
268 | set (Qt5Qml_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Qml/) | ||||
269 | set (Qt5Quick_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5Quick/) | ||||
270 | set (Qt5QuickWidgets_DIR $ENV{QT_ANDROID}/lib/cmake/Qt5QuickWidgets/) | ||||
271 | | ||||
272 | set(ECM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/share/ECM/cmake) | ||||
273 | set(KF5Config_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5Config/) | ||||
274 | set(KF5Config_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5Config/) | ||||
275 | set(KF5I18n_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5I18n/) | ||||
276 | set(KF5WidgetsAddons_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5WidgetsAddons) | ||||
277 | set(KF5Completion_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5Completion) | ||||
278 | set(KF5GuiAddons_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5GuiAddons) | ||||
279 | set(KF5ItemViews_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5ItemViews) | ||||
280 | set(KF5WindowSystem_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5WindowSystem) | ||||
281 | set(KF5ItemModels_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5ItemModels) | ||||
282 | set(KF5CoreAddons_DIR ${CMAKE_CURRENT_SOURCE_DIR}/kf5/kde/install/lib/cmake/KF5CoreAddons) | ||||
283 | endif() | ||||
284 | | ||||
285 | | ||||
254 | find_package(ECM 5.22 REQUIRED NOMODULE) | 286 | find_package(ECM 5.22 REQUIRED NOMODULE) | ||
255 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) | 287 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) | ||
256 | include(ECMOptionalAddSubdirectory) | 288 | include(ECMOptionalAddSubdirectory) | ||
257 | include(ECMAddAppIcon) | 289 | include(ECMAddAppIcon) | ||
258 | include(ECMSetupVersion) | 290 | include(ECMSetupVersion) | ||
259 | include(ECMMarkNonGuiExecutable) | 291 | include(ECMMarkNonGuiExecutable) | ||
260 | include(ECMGenerateHeaders) | 292 | include(ECMGenerateHeaders) | ||
261 | include(GenerateExportHeader) | 293 | include(GenerateExportHeader) | ||
Show All 39 Lines | 328 | find_package(Qt5 ${MIN_QT_VERSION} | |||
301 | Xml | 333 | Xml | ||
302 | Network | 334 | Network | ||
303 | PrintSupport | 335 | PrintSupport | ||
304 | Svg | 336 | Svg | ||
305 | Test | 337 | Test | ||
306 | Concurrent | 338 | Concurrent | ||
307 | ) | 339 | ) | ||
308 | 340 | | |||
341 | if (UNIX AND NOT APPLE AND NOT ANDROID) | ||||
342 | if (${Qt5_VERSION} VERSION_GREATER "5.11") | ||||
343 | set (USE_QT_XCB ON) | ||||
344 | else() | ||||
345 | option(USE_QT_XCB "Do not use Krita's forked XCB connection and tablet support on X11, but leave everything to Qt." OFF) | ||||
346 | add_feature_info("Use Qt's XCB and Tablet support on X11" USE_QT_XCB "Do not use Krita's forked XCB connection and tablet support on X11, but leave everything to Qt.") | ||||
347 | endif() | ||||
348 | configure_file(config_use_qt_xcb.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config_use_qt_xcb.h) | ||||
349 | endif() | ||||
350 | | ||||
309 | include (MacroAddFileDependencies) | 351 | include (MacroAddFileDependencies) | ||
310 | include (MacroBoolTo01) | 352 | include (MacroBoolTo01) | ||
311 | include (MacroEnsureOutOfSourceBuild) | 353 | include (MacroEnsureOutOfSourceBuild) | ||
312 | macro_ensure_out_of_source_build("Compiling Krita inside the source directory is not possible. Please refer to the build instruction https://community.kde.org/Krita#Build_Instructions") | 354 | macro_ensure_out_of_source_build("Compiling Krita inside the source directory is not possible. Please refer to the build instruction https://community.kde.org/Krita#Build_Instructions") | ||
313 | 355 | | |||
314 | 356 | | |||
315 | # Note: OPTIONAL_COMPONENTS does not seem to be reliable | 357 | # Note: OPTIONAL_COMPONENTS does not seem to be reliable | ||
316 | # (as of ECM 5.15.0, CMake 3.2) | 358 | # (as of ECM 5.15.0, CMake 3.2) | ||
Show All 21 Lines | |||||
338 | find_package(Qt5QuickWidgets ${MIN_QT_VERSION}) | 380 | find_package(Qt5QuickWidgets ${MIN_QT_VERSION}) | ||
339 | set_package_properties(Qt5QuickWidgets PROPERTIES | 381 | set_package_properties(Qt5QuickWidgets PROPERTIES | ||
340 | DESCRIPTION "QtQuickWidgets" | 382 | DESCRIPTION "QtQuickWidgets" | ||
341 | URL "http://www.qt.io/" | 383 | URL "http://www.qt.io/" | ||
342 | TYPE OPTIONAL | 384 | TYPE OPTIONAL | ||
343 | PURPOSE "Optionally used for the touch gui for Krita") | 385 | PURPOSE "Optionally used for the touch gui for Krita") | ||
344 | endif() | 386 | endif() | ||
345 | 387 | | |||
346 | if (NOT WIN32 AND NOT APPLE) | 388 | if (NOT WIN32 AND NOT APPLE AND NOT ANDROID) | ||
347 | 389 | | |||
348 | find_package(Qt5 ${MIN_QT_VERSION} REQUIRED X11Extras) | 390 | find_package(Qt5 ${MIN_QT_VERSION} REQUIRED X11Extras) | ||
349 | 391 | | |||
350 | find_package(Qt5DBus ${MIN_QT_VERSION}) | 392 | find_package(Qt5DBus ${MIN_QT_VERSION}) | ||
351 | set(HAVE_DBUS ${Qt5DBus_FOUND}) | 393 | set(HAVE_DBUS ${Qt5DBus_FOUND}) | ||
352 | set_package_properties(Qt5DBus PROPERTIES | 394 | set_package_properties(Qt5DBus PROPERTIES | ||
353 | DESCRIPTION "Qt DBUS integration" | 395 | DESCRIPTION "Qt DBUS integration" | ||
354 | URL "http://www.qt.io/" | 396 | URL "http://www.qt.io/" | ||
▲ Show 20 Lines • Show All 96 Lines • ▼ Show 20 Line(s) | |||||
451 | set(KRITA_PLUGIN_INSTALL_DIR ${LIB_INSTALL_DIR}/kritaplugins) | 493 | set(KRITA_PLUGIN_INSTALL_DIR ${LIB_INSTALL_DIR}/kritaplugins) | ||
452 | 494 | | |||
453 | ########################### | 495 | ########################### | ||
454 | ############################ | 496 | ############################ | ||
455 | ## Required dependencies ## | 497 | ## Required dependencies ## | ||
456 | ############################ | 498 | ############################ | ||
457 | ########################### | 499 | ########################### | ||
458 | 500 | | |||
501 | if (ANDROID) | ||||
502 | set (PNG_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/i/lib/libpng16.so) | ||||
503 | set (PNG_PNG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/i/include/libpng16) | ||||
504 | set (LibExiv2_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/i/lib/libexiv2.so) | ||||
505 | set (LibExiv2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/i/include/) | ||||
506 | set (LCMS2_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/i/include) | ||||
507 | set (LCMS2_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/i/lib/liblcms2.so) | ||||
508 | set (QUAZIP_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/i/include/quazip5) | ||||
509 | set (QUAZIP_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/i/lib/libquazip5.so) | ||||
510 | set (Boost_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/i/armeabi-v7a/include/boost-1_69) | ||||
511 | set (Boost_LIBRARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/i/armeabi-v7a/lib) | ||||
512 | endif() | ||||
513 | | ||||
459 | find_package(PNG REQUIRED) | 514 | find_package(PNG REQUIRED) | ||
460 | 515 | | |||
461 | if (APPLE) | 516 | if (APPLE) | ||
462 | # this is not added correctly on OSX -- see http://forum.kde.org/viewtopic.php?f=139&t=101867&p=221242#p221242 | 517 | # this is not added correctly on OSX -- see http://forum.kde.org/viewtopic.php?f=139&t=101867&p=221242#p221242 | ||
463 | include_directories(SYSTEM ${PNG_INCLUDE_DIR}) | 518 | include_directories(SYSTEM ${PNG_INCLUDE_DIR}) | ||
464 | endif() | 519 | endif() | ||
465 | 520 | | |||
466 | add_definitions(-DBOOST_ALL_NO_LIB) | 521 | add_definitions(-DBOOST_ALL_NO_LIB) | ||
▲ Show 20 Lines • Show All 291 Lines • ▼ Show 20 Line(s) | |||||
758 | endforeach() | 813 | endforeach() | ||
759 | 814 | | |||
760 | feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) | 815 | feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) | ||
761 | 816 | | |||
762 | if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/po OR EXISTS ${CMAKE_CURRENT_BINARY_DIR}/po ) | 817 | if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/po OR EXISTS ${CMAKE_CURRENT_BINARY_DIR}/po ) | ||
763 | find_package(KF5I18n CONFIG REQUIRED) | 818 | find_package(KF5I18n CONFIG REQUIRED) | ||
764 | ki18n_install(po) | 819 | ki18n_install(po) | ||
765 | endif() | 820 | endif() | ||
821 | |
Apparently there is, as no other application on binary factory seems to need this ;-)
Setting CMAKE_PREFIX_PATH to the corresponding install prefixes should take care of this usually.