diff --git a/CMakeLists.txt b/CMakeLists.txt index 471a91d55..027323364 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 050c08a5d..aef6a7be7 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 3158ae1c2..4e267d901 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 1bc5c0f57..4d11469de 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 067243f06..89eb3f8a9 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 02d6f4b57..82417935f 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 #include diff --git a/src/libcalamares/JobQueue.cpp b/src/libcalamares/JobQueue.cpp index f7b21b2d1..fe4e74423 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 000000000..1b2ee1430 --- /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 f76798aa7..f9c3e3112 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 #include @@ -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 42731f102..f2ee7c88d 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 #include @@ -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 184858feb..7fa64661e 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 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 5ca3a131f..904dcb039 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 7778400b1..97d53ac7a 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 f6835d931..9f81eb20a 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 96ba77c31..291dc7f0f 100644 --- a/src/modules/partition/PartitionPage.cpp +++ b/src/modules/partition/PartitionPage.cpp @@ -33,7 +33,7 @@ #include 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 69d5a4ace..be9643ce1 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 #include class PartitionCoreModule; @@ -28,7 +27,7 @@ class Ui_PartitionPage; class DeviceModel; -class PartitionPage : public Calamares::AbstractPage +class PartitionPage : public QWidget { Q_OBJECT public: