[users] Refactor users functionality to a static lib

- this makes it less fragile to share all the functionality
  with usersq, since it ends up in the library which is shared
  between the modules.
This commit is contained in:
Adriaan de Groot 2020-10-21 15:02:33 +02:00
parent 6560ef00a1
commit 3d289f345a
3 changed files with 21 additions and 18 deletions

View File

@ -23,25 +23,35 @@ endif()
include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui )
set( JOB_SRC
set( _users_src
# Jobs
CreateUserJob.cpp
MiscJobs.cpp
SetPasswordJob.cpp
SetHostNameJob.cpp
)
set( CONFIG_SRC
# Configuration
CheckPWQuality.cpp
Config.cpp
)
calamares_add_library(
users_internal
EXPORT_MACRO PLUGINDLLEXPORT_PRO
TARGET_TYPE STATIC
NO_INSTALL
NO_VERSION
SOURCES
${_users_src}
LINK_LIBRARIES
Qt5::DBus
)
calamares_add_plugin( users
TYPE viewmodule
EXPORT_MACRO PLUGINDLLEXPORT_PRO
SOURCES
UsersViewStep.cpp
UsersPage.cpp
${JOB_SRC}
${CONFIG_SRC}
UI
page_usersetup.ui
RESOURCES
@ -50,7 +60,7 @@ calamares_add_plugin( users
calamaresui
${CRYPT_LIBRARIES}
${USER_EXTRA_LIB}
Qt5::DBus
users_internal
SHARED_LIB
)
@ -83,10 +93,9 @@ calamares_add_test(
userstest
SOURCES
Tests.cpp
${JOB_SRC}
${CONFIG_SRC}
${_users_src} # Build again with test-visibility
LIBRARIES
${USER_EXTRA_LIB}
Qt5::DBus # HostName job can use DBus to systemd
${CRYPT_LIBRARIES} # SetPassword job uses crypt()
Qt5::DBus # HostName job can use DBus to systemd
)

View File

@ -84,7 +84,7 @@ private:
};
class Config : public QObject
class PLUGINDLLEXPORT Config : public QObject
{
Q_OBJECT

View File

@ -13,9 +13,8 @@ find_package( Crypt REQUIRED )
# Add optional libraries here
set( USER_EXTRA_LIB )
set( _users ${CMAKE_CURRENT_SOURCE_DIR}/../users )
include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui ${CMAKE_CURRENT_SOURCE_DIR}/../../libcalamares ${_users} )
include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../users )
find_package( LibPWQuality )
set_package_properties(
@ -33,12 +32,6 @@ calamares_add_plugin( usersq
TYPE viewmodule
EXPORT_MACRO PLUGINDLLEXPORT_PRO
SOURCES
${_users}/CheckPWQuality.cpp
${_users}/Config.cpp
${_users}/CreateUserJob.cpp
${_users}/MiscJobs.cpp
${_users}/SetHostNameJob.cpp
${_users}/SetPasswordJob.cpp
UsersQmlViewStep.cpp
RESOURCES
usersq.qrc
@ -47,5 +40,6 @@ calamares_add_plugin( usersq
${CRYPT_LIBRARIES}
${USER_EXTRA_LIB}
Qt5::DBus
users_internal
SHARED_LIB
)