diff --git a/CMakeLists.txt b/CMakeLists.txt index 471a91d55864f106c656ceb135571770d8c3d0db..0273233644b9913d409aaf5627d28e482dbeaefc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ project( calamares ) cmake_minimum_required( VERSION 2.8.12 ) set( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" ) -#set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wl,--no-undefined" ) +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wl,--no-undefined" ) set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wl,--fatal-warnings -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type" ) if( CMAKE_COMPILER_IS_GNUCXX ) @@ -19,7 +19,6 @@ cmake_policy( SET CMP0043 OLD ) find_package( Qt5 5.3.0 CONFIG REQUIRED Core Gui Widgets LinguistTools ) find_package( YamlCpp 0.5.1 REQUIRED ) -find_package( KF5 CONFIG REQUIRED CoreAddons ) ### ### Calamares application info diff --git a/CalamaresAddLibrary.cmake b/CalamaresAddLibrary.cmake index 050c08a5d275fcc9c84dadcc9eae1e458a15da8e..aef6a7be7476d6358cab20e26c39b344939ab86d 100644 --- a/CalamaresAddLibrary.cmake +++ b/CalamaresAddLibrary.cmake @@ -10,13 +10,13 @@ function(calamares_add_library) set(LIBRARY_NAME ${NAME}) -# message("*** Arguments for ${LIBRARY_NAME}") -# message("Sources: ${LIBRARY_SOURCES}") -# message("Link libraries: ${LIBRARY_LINK_LIBRARIES}") -# message("UI: ${LIBRARY_UI}") -# message("TARGET_TYPE: ${LIBRARY_TARGET_TYPE}") -# message("EXPORT_MACRO: ${LIBRARY_EXPORT_MACRO}") -# message("NO_INSTALL: ${LIBRARY_NO_INSTALL}") + message("*** Arguments for ${LIBRARY_NAME}") + message("Sources: ${LIBRARY_SOURCES}") + message("Link libraries: ${LIBRARY_LINK_LIBRARIES}") + message("UI: ${LIBRARY_UI}") + message("TARGET_TYPE: ${LIBRARY_TARGET_TYPE}") + message("EXPORT_MACRO: ${LIBRARY_EXPORT_MACRO}") + message("NO_INSTALL: ${LIBRARY_NO_INSTALL}") set(target ${LIBRARY_NAME}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3158ae1c2be494eec47994be3f8f360c8a421419..4e267d901607536366467a6995b9888ee0df0a6e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,12 +8,13 @@ include_directories( ${CMAKE_CURRENT_LIST_DIR} ) # library add_subdirectory( libcalamares ) +add_subdirectory( libcalamaresui ) # application add_subdirectory( calamares ) -include_directories( ${CMAKE_CURRENT_BINARY_DIR}/calamares ) -include_directories( ${CMAKE_CURRENT_LIST_DIR}/calamares ) +include_directories( ${CMAKE_CURRENT_BINARY_DIR}/libcalamaresui ) +include_directories( ${CMAKE_CURRENT_LIST_DIR}/libcalamaresui ) # plugins add_subdirectory( modules ) diff --git a/src/calamares/CMakeLists.txt b/src/calamares/CMakeLists.txt index 1bc5c0f57568546b610cdcc0beb6ae1c01fca793..4d11469decc7123f849e4d4ca5ecf5f28ea30607 100644 --- a/src/calamares/CMakeLists.txt +++ b/src/calamares/CMakeLists.txt @@ -10,13 +10,6 @@ set( calamaresSources main.cpp CalamaresApplication.cpp CalamaresWindow.cpp - Settings.cpp - ViewManager.cpp - YamlUtils.cpp - - modulesystem/Module.cpp - modulesystem/ModuleManager.cpp - modulesystem/ViewModule.cpp progresstree/CategoryItem.cpp progresstree/ProgressTreeDelegate.cpp @@ -24,11 +17,6 @@ set( calamaresSources progresstree/ProgressTreeModel.cpp progresstree/ProgressTreeView.cpp progresstree/ViewStepItem.cpp - - utils/CalamaresUtilsGui.cpp - - viewpages/ViewStep.cpp - viewpages/AbstractPage.cpp ) set( calamaresUi @@ -41,6 +29,7 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/../libcalamares ../libcalamares + ../libcalamaresui ) include( GNUInstallDirs ) @@ -68,6 +57,7 @@ qt5_use_modules( calamares_bin Core Widgets ) target_link_libraries( calamares_bin ${LINK_LIBRARIES} ${CALAMARES_LIBRARIES} + calamaresui Qt5::Core Qt5::Widgets yaml-cpp diff --git a/src/calamares/CalamaresApplication.cpp b/src/calamares/CalamaresApplication.cpp index 067243f06294d2f4c4bafd0bae561c801953c658..89eb3f8a976b485c20ff638967dd0af063740256 100644 --- a/src/calamares/CalamaresApplication.cpp +++ b/src/calamares/CalamaresApplication.cpp @@ -20,12 +20,13 @@ #include "CalamaresWindow.h" #include "CalamaresVersion.h" -#include "modulesystem/ModuleManager.h" #include "progresstree/ProgressTreeView.h" #include "progresstree/ProgressTreeModel.h" -#include "Settings.h" + +#include "modulesystem/ModuleManager.h" #include "utils/CalamaresUtils.h" #include "utils/Logger.h" +#include "Settings.h" #include "ViewManager.h" @@ -108,7 +109,7 @@ CalamaresApplication::mainWindow() void CalamaresApplication::initSettings() { - new Calamares::Settings( this ); + new Calamares::Settings( isDebug(), this ); } diff --git a/src/calamares/progresstree/ProgressTreeDelegate.cpp b/src/calamares/progresstree/ProgressTreeDelegate.cpp index 02d6f4b57ef6fe669e38155698c752c5e412f170..82417935ff49bbd76570a36b4ed341f94d993a64 100644 --- a/src/calamares/progresstree/ProgressTreeDelegate.cpp +++ b/src/calamares/progresstree/ProgressTreeDelegate.cpp @@ -22,7 +22,7 @@ #include "../CalamaresWindow.h" #include "ViewStepItem.h" #include "ProgressTreeModel.h" -#include "../ViewManager.h" +#include "ViewManager.h" #include <QAbstractItemView> #include <QPainter> diff --git a/src/libcalamares/JobQueue.cpp b/src/libcalamares/JobQueue.cpp index f7b21b2d192e4d00c2aed1537b2906291f06cc2b..fe4e7442394c272ad25401e87334c90bdcdec93e 100644 --- a/src/libcalamares/JobQueue.cpp +++ b/src/libcalamares/JobQueue.cpp @@ -20,22 +20,33 @@ namespace Calamares { + JobQueue* JobQueue::s_instance = nullptr; + JobQueue* JobQueue::instance() { return s_instance; } + JobQueue::JobQueue( QObject* parent ) : QObject( parent ) { } + void JobQueue::enqueue( const Calamares::job_ptr& job ) { } + +void +JobQueue::enqueue( const QList< job_ptr >& jobs ) +{ + +} + } // namespace Calamares diff --git a/src/libcalamaresui/CMakeLists.txt b/src/libcalamaresui/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b2ee1430c6b28a9bafdd3aee2b0eaa96ea5c516 --- /dev/null +++ b/src/libcalamaresui/CMakeLists.txt @@ -0,0 +1,30 @@ +set( CALAMARESUI_LIBRARY_TARGET calamaresui ) + +list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_SOURCES + modulesystem/Module.cpp + modulesystem/ModuleManager.cpp + modulesystem/ViewModule.cpp + + utils/CalamaresUtilsGui.cpp + utils/YamlUtils.cpp + + viewpages/AbstractPage.cpp + viewpages/ViewStep.cpp + + Settings.cpp + ViewManager.cpp +) + +list( APPEND ${CALAMARESUI_LIBRARY_TARGET}_UI + +) + +calamares_add_library( ${CALAMARESUI_LIBRARY_TARGET} + SOURCES ${${CALAMARESUI_LIBRARY_TARGET}_SOURCES} + UI ${${CALAMARESUI_LIBRARY_TARGET}_UI} + EXPORT_MACRO UIDLLEXPORT_PRO + LINK_LIBRARIES + yaml-cpp + EXPORT CalamaresLibraryDepends + VERSION ${CALAMARES_VERSION_SHORT} +) diff --git a/src/calamares/Settings.cpp b/src/libcalamaresui/Settings.cpp similarity index 95% rename from src/calamares/Settings.cpp rename to src/libcalamaresui/Settings.cpp index f76798aa781157d841fbe9d27f45fd1b3ff296cd..f9c3e3112023e60f764d3b98e671e6c25825ac62 100644 --- a/src/calamares/Settings.cpp +++ b/src/libcalamaresui/Settings.cpp @@ -18,10 +18,9 @@ #include "Settings.h" -#include "CalamaresApplication.h" #include "utils/CalamaresUtils.h" #include "utils/Logger.h" -#include "YamlUtils.h" +#include "utils/YamlUtils.h" #include <QDir> #include <QFile> @@ -41,11 +40,11 @@ Settings::instance() } -Settings::Settings( QObject* parent ) +Settings::Settings( bool debugMode, QObject* parent ) : QObject( parent ) { QFileInfo settingsFile( CalamaresUtils::appDataDir().absoluteFilePath( "settings.conf" ) ); - if ( APP->isDebug() ) + if ( debugMode ) { QFileInfo localFile( QDir( QDir::currentPath() ).absoluteFilePath( "settings.conf" ) ); if ( localFile.exists() && localFile.isReadable() ) @@ -72,7 +71,7 @@ Settings::Settings( QObject* parent ) // If we're running in debug mode, we assume we might also be // running from the build dir, so we add a maximum priority // module search path in the build dir. - if ( APP->isDebug() ) + if ( debugMode ) { QString buildDirModules = QDir::current().absolutePath() + QDir::separator() + "src" + diff --git a/src/calamares/Settings.h b/src/libcalamaresui/Settings.h similarity index 90% rename from src/calamares/Settings.h rename to src/libcalamaresui/Settings.h index 42731f10280518c6452c2ebb01d0d5b2724481e0..f2ee7c88de9d89087d3b4a76253236f6ad160f5b 100644 --- a/src/calamares/Settings.h +++ b/src/libcalamaresui/Settings.h @@ -19,6 +19,8 @@ #ifndef SETTINGS_H #define SETTINGS_H +#include "UiDllMacro.h" + #include <QObject> #include <QStringList> @@ -26,11 +28,11 @@ namespace Calamares { -class Settings : public QObject +class UIDLLEXPORT Settings : public QObject { Q_OBJECT public: - explicit Settings( QObject *parent = nullptr ); + explicit Settings( bool debugMode, QObject *parent = nullptr ); static Settings* instance(); //TODO: load from JSON then emit ready diff --git a/src/calamares/UiDllMacro.h b/src/libcalamaresui/UiDllMacro.h similarity index 100% rename from src/calamares/UiDllMacro.h rename to src/libcalamaresui/UiDllMacro.h diff --git a/src/calamares/ViewManager.cpp b/src/libcalamaresui/ViewManager.cpp similarity index 100% rename from src/calamares/ViewManager.cpp rename to src/libcalamaresui/ViewManager.cpp diff --git a/src/calamares/ViewManager.h b/src/libcalamaresui/ViewManager.h similarity index 100% rename from src/calamares/ViewManager.h rename to src/libcalamaresui/ViewManager.h diff --git a/src/calamares/modulesystem/Module.cpp b/src/libcalamaresui/modulesystem/Module.cpp similarity index 99% rename from src/calamares/modulesystem/Module.cpp rename to src/libcalamaresui/modulesystem/Module.cpp index 184858febf0e7bb8d65825cdffaac389ded45009..7fa64661eeac0a0640b213c59f3a6ed20b26fbb7 100644 --- a/src/calamares/modulesystem/Module.cpp +++ b/src/libcalamaresui/modulesystem/Module.cpp @@ -19,7 +19,7 @@ #include "Module.h" #include "ViewModule.h" -#include "YamlUtils.h" +#include "utils/YamlUtils.h" #include "utils/Logger.h" #include <yaml-cpp/yaml.h> diff --git a/src/calamares/modulesystem/Module.h b/src/libcalamaresui/modulesystem/Module.h similarity index 100% rename from src/calamares/modulesystem/Module.h rename to src/libcalamaresui/modulesystem/Module.h diff --git a/src/calamares/modulesystem/ModuleManager.cpp b/src/libcalamaresui/modulesystem/ModuleManager.cpp similarity index 100% rename from src/calamares/modulesystem/ModuleManager.cpp rename to src/libcalamaresui/modulesystem/ModuleManager.cpp diff --git a/src/calamares/modulesystem/ModuleManager.h b/src/libcalamaresui/modulesystem/ModuleManager.h similarity index 100% rename from src/calamares/modulesystem/ModuleManager.h rename to src/libcalamaresui/modulesystem/ModuleManager.h diff --git a/src/calamares/modulesystem/ViewModule.cpp b/src/libcalamaresui/modulesystem/ViewModule.cpp similarity index 100% rename from src/calamares/modulesystem/ViewModule.cpp rename to src/libcalamaresui/modulesystem/ViewModule.cpp diff --git a/src/calamares/modulesystem/ViewModule.h b/src/libcalamaresui/modulesystem/ViewModule.h similarity index 100% rename from src/calamares/modulesystem/ViewModule.h rename to src/libcalamaresui/modulesystem/ViewModule.h diff --git a/src/calamares/utils/CalamaresUtilsGui.cpp b/src/libcalamaresui/utils/CalamaresUtilsGui.cpp similarity index 100% rename from src/calamares/utils/CalamaresUtilsGui.cpp rename to src/libcalamaresui/utils/CalamaresUtilsGui.cpp diff --git a/src/calamares/utils/CalamaresUtilsGui.h b/src/libcalamaresui/utils/CalamaresUtilsGui.h similarity index 100% rename from src/calamares/utils/CalamaresUtilsGui.h rename to src/libcalamaresui/utils/CalamaresUtilsGui.h diff --git a/src/calamares/YamlUtils.cpp b/src/libcalamaresui/utils/YamlUtils.cpp similarity index 100% rename from src/calamares/YamlUtils.cpp rename to src/libcalamaresui/utils/YamlUtils.cpp diff --git a/src/calamares/YamlUtils.h b/src/libcalamaresui/utils/YamlUtils.h similarity index 100% rename from src/calamares/YamlUtils.h rename to src/libcalamaresui/utils/YamlUtils.h diff --git a/src/calamares/viewpages/AbstractPage.cpp b/src/libcalamaresui/viewpages/AbstractPage.cpp similarity index 100% rename from src/calamares/viewpages/AbstractPage.cpp rename to src/libcalamaresui/viewpages/AbstractPage.cpp diff --git a/src/calamares/viewpages/AbstractPage.h b/src/libcalamaresui/viewpages/AbstractPage.h similarity index 100% rename from src/calamares/viewpages/AbstractPage.h rename to src/libcalamaresui/viewpages/AbstractPage.h diff --git a/src/calamares/viewpages/ViewStep.cpp b/src/libcalamaresui/viewpages/ViewStep.cpp similarity index 100% rename from src/calamares/viewpages/ViewStep.cpp rename to src/libcalamaresui/viewpages/ViewStep.cpp diff --git a/src/calamares/viewpages/ViewStep.h b/src/libcalamaresui/viewpages/ViewStep.h similarity index 100% rename from src/calamares/viewpages/ViewStep.h rename to src/libcalamaresui/viewpages/ViewStep.h diff --git a/src/modules/greeting/CMakeLists.txt b/src/modules/greeting/CMakeLists.txt index 5ca3a131f53be52eb8ca07a8a534ce24ee4653da..904dcb039fa509832ac4ba8d8a418cc8996908f8 100644 --- a/src/modules/greeting/CMakeLists.txt +++ b/src/modules/greeting/CMakeLists.txt @@ -1,4 +1,4 @@ -include_directories( ${PROJECT_BINARY_DIR}/src/calamares ) +include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) calamares_add_plugin( greeting TYPE viewmodule EXPORT_MACRO PLUGINDLLEXPORT_PRO @@ -9,5 +9,7 @@ calamares_add_plugin( greeting UI LINK_LIBRARIES ${CALAMARES_LIBRARIES} + calamaresui + ${CALAMARESUI_LIBRARIES} SHARED_LIB ) diff --git a/src/modules/locale/CMakeLists.txt b/src/modules/locale/CMakeLists.txt index 7778400b18888a6cdc8d004e07489f2f4c6ca7a2..97d53ac7a170d50cc1faea1d5c3b8f27b99d3278 100644 --- a/src/modules/locale/CMakeLists.txt +++ b/src/modules/locale/CMakeLists.txt @@ -1,4 +1,5 @@ -include_directories( ${PROJECT_BINARY_DIR}/src/calamares ) +include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) + calamares_add_plugin( locale TYPE viewmodule EXPORT_MACRO PLUGINDLLEXPORT_PRO @@ -11,6 +12,6 @@ calamares_add_plugin( locale timezonewidget/localeglobal.cpp UI LINK_LIBRARIES - ${CALAMARES_LIBRARIES} + calamaresui SHARED_LIB ) diff --git a/src/modules/partition/CMakeLists.txt b/src/modules/partition/CMakeLists.txt index f6835d9316accf054362a0b0632c20ae1a91c34c..9f81eb20abb540e7de9b756bf6dc63d3bee9236e 100644 --- a/src/modules/partition/CMakeLists.txt +++ b/src/modules/partition/CMakeLists.txt @@ -1,8 +1,10 @@ if( WITH_PARTITIONMANAGER ) +find_package( KF5 CONFIG REQUIRED CoreAddons ) + add_definitions( -DCALAMARES ) -include_directories( ${PROJECT_BINARY_DIR}/src/calamares ) +include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ) calamares_add_plugin( partition TYPE viewmodule EXPORT_MACRO PLUGINDLLEXPORT_PRO @@ -22,7 +24,7 @@ calamares_add_plugin( partition PartitionPage.ui LINK_LIBRARIES calapm - ${CALAMARES_LIBRARIES} + calamaresui KF5::CoreAddons SHARED_LIB ) @@ -37,7 +39,6 @@ set( partview_SRCS PartitionModel.cpp PartitionPage.cpp PMUtils.cpp - ${calamares_SOURCE_DIR}/viewpages/AbstractPage.cpp main.cpp ) qt5_wrap_ui( partview_SRCS diff --git a/src/modules/partition/PartitionPage.cpp b/src/modules/partition/PartitionPage.cpp index 96ba77c31216c077bcf6a64c64d8b13420940fbb..291dc7f0f811aae014e235676d11293d851c917a 100644 --- a/src/modules/partition/PartitionPage.cpp +++ b/src/modules/partition/PartitionPage.cpp @@ -33,7 +33,7 @@ #include <QPointer> PartitionPage::PartitionPage( PartitionCoreModule* core, QWidget* parent ) - : Calamares::AbstractPage( parent ) + : QWidget( parent ) , m_ui( new Ui_PartitionPage ) , m_core( core ) { diff --git a/src/modules/partition/PartitionPage.h b/src/modules/partition/PartitionPage.h index 69d5a4ace006addbd59cc3fec887ff839e9d08c8..be9643ce16f2a118d42ef6650bddfe4282995cf4 100644 --- a/src/modules/partition/PartitionPage.h +++ b/src/modules/partition/PartitionPage.h @@ -19,8 +19,7 @@ #ifndef PARTITIONPAGE_H #define PARTITIONPAGE_H -#include "viewpages/AbstractPage.h" - +#include <QWidget> #include <QScopedPointer> class PartitionCoreModule; @@ -28,7 +27,7 @@ class Ui_PartitionPage; class DeviceModel; -class PartitionPage : public Calamares::AbstractPage +class PartitionPage : public QWidget { Q_OBJECT public: