diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,3 +1,5 @@ +option(KEXI_MOBILE "Mobile friendly version of reports" OFF) + cmake_minimum_required(VERSION 3.0 FATAL_ERROR) find_package(ECM 1.8.0 REQUIRED NOMODULE) set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) @@ -70,23 +72,42 @@ ########################## set(REQUIRED_KF5_VERSION 5.16.0) + +if(NOT KEXI_MOBILE) find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS - Archive - Codecs + Archive + Codecs Completion - Config - ConfigWidgets + Config + ConfigWidgets + CoreAddons + GuiAddons + I18n + IconThemes + ItemViews + KIO + TextEditor + TextWidgets + WidgetsAddons + XmlGui +) +else() +find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED COMPONENTS + Archive + Codecs + Config + ConfigWidgets CoreAddons - GuiAddons - I18n - IconThemes + GuiAddons + I18n + IconThemes ItemViews - KIO - TextEditor - TextWidgets - WidgetsAddons - XmlGui + WidgetsAddons + TextWidgets + XmlGui ) +endif() + find_package(KF5 ${REQUIRED_KF5_VERSION} QUIET OPTIONAL_COMPONENTS Crash) macro_bool_to_01(KF5Crash_FOUND HAVE_KCRASH) macro_log_feature(${KF5Crash_FOUND} "KCrash" "KDE's Crash Handler" @@ -160,13 +181,20 @@ ## ## Test for KPropertyWidgets ## +if(KEXI_MOBILE) +find_package(KPropertyCore ${KEXI_LIBS_MIN_VERSION} REQUIRED COMPONENTS KF) +macro_log_feature(KPropertyCore_FOUND "KPropertyCore" "A property editing framework with editor widget" + "http://community.kde.org/KProperty" FALSE "" "Required by Kexi") +else() find_package(KPropertyWidgets ${KEXI_LIBS_MIN_VERSION} REQUIRED COMPONENTS KF) macro_log_feature(KPropertyWidgets_FOUND "KPropertyWidgets" "A property editing framework with editor widget" "http://community.kde.org/KProperty" FALSE "" "Required by Kexi") - +endif() include(CheckIfQtGuiCanBeExecuted) -include(CheckGlobalBreezeIcons) +if (NOT KEXI_MOBILE) +include(CheckGlobalBreezeIcons) +endif() ########################### ############################ ## Optional dependencies ## diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -54,25 +54,25 @@ add_subdirectory( kexiutils ) add_subdirectory( core ) + +if(NOT KEXI_MOBILE) add_subdirectory( widget ) +add_subdirectory( main ) +add_subdirectory( formeditor ) +add_subdirectory( migration ) +endif() + add_subdirectory( data ) add_subdirectory( plugins ) + if (BUILD_TESTING) #TODO KEXI3 add_subdirectory( tests ) endif() -if(KEXI_MOBILE) - -else() - add_subdirectory( main ) - add_subdirectory( formeditor ) - add_subdirectory( migration ) -endif() - ########### next target ############### if(KEXI_MOBILE) - add_subdirectory( mobile ) +# add_subdirectory( mobile ) else() set(kexi_SRCS main.cpp @@ -91,6 +91,8 @@ keximain ) install(TARGETS kexi ${INSTALL_TARGETS_DEFAULT_ARGS}) + + add_subdirectory( pics ) endif() -add_subdirectory( pics ) + diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -58,7 +58,7 @@ kexiutils KDb - KPropertyWidgets + KPropertyCore ) if(WIN32) diff --git a/src/kexiutils/CMakeLists.txt b/src/kexiutils/CMakeLists.txt --- a/src/kexiutils/CMakeLists.txt +++ b/src/kexiutils/CMakeLists.txt @@ -55,6 +55,17 @@ PUBLIC "$" ) +if (KEXI_MOBILE) +target_link_libraries(kexiutils + PUBLIC + KF5::IconThemes + KF5::WidgetsAddons + KF5::ConfigWidgets # KStandardAction KColorScheme + KF5::I18n + KF5::ItemViews # KCategorizedView KCategoryDrawer + KDb +) +else () target_link_libraries(kexiutils PUBLIC KF5::KIOWidgets #for KRun... @@ -65,6 +76,9 @@ KF5::ItemViews # KCategorizedView KCategoryDrawer KDb ) +endif() + + #target_link_libraries(kexiutils LINK_INTERFACE_LIBRARIES KF5::KIOWidgets) if(BUILD_TESTING) diff --git a/src/kexiutils/utils.cpp b/src/kexiutils/utils.cpp --- a/src/kexiutils/utils.cpp +++ b/src/kexiutils/utils.cpp @@ -60,8 +60,10 @@ #include #include +#ifndef KEXI_MOBILE #include #include +#endif #include #include #include @@ -719,6 +721,7 @@ tristate KexiUtils::openHyperLink(const QUrl &url, QWidget *parent, const OpenHyperlinkOptions &options) { +#ifndef KEXI_MOBILE if (url.isLocalFile()) { QFileInfo fileInfo(url.toLocalFile()); if (!fileInfo.exists()) { @@ -771,6 +774,7 @@ return QDesktopServices::openUrl(url); default:; } +#endif return false; } diff --git a/src/mobile/CMakeLists.txt b/src/mobile/CMakeLists.txt --- a/src/mobile/CMakeLists.txt +++ b/src/mobile/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 2.8.0) -find_package(Qt4 REQUIRED) +find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core Gui) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/src/core @@ -14,14 +14,11 @@ KexiMobileToolbar.cpp ) -qt4_automoc(${KexiMobile_SRCS}) - kexi_add_executable(keximobile ${KexiMobile_SRCS}) target_link_libraries(keximobile Qt5::Core Qt5::Gui kexiextendedwidgets kexicore - kdeui KDb )