3d289f345a
- 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.
102 lines
2.1 KiB
CMake
102 lines
2.1 KiB
CMake
# === This file is part of Calamares - <https://calamares.io> ===
|
|
#
|
|
# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
#
|
|
find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core DBus Network )
|
|
find_package( Crypt REQUIRED )
|
|
|
|
# Add optional libraries here
|
|
set( USER_EXTRA_LIB )
|
|
|
|
find_package( LibPWQuality )
|
|
set_package_properties(
|
|
LibPWQuality PROPERTIES
|
|
PURPOSE "Extra checks of password quality"
|
|
)
|
|
|
|
if( LibPWQuality_FOUND )
|
|
list( APPEND USER_EXTRA_LIB ${LibPWQuality_LIBRARIES} )
|
|
include_directories( ${LibPWQuality_INCLUDE_DIRS} )
|
|
add_definitions( -DCHECK_PWQUALITY -DHAVE_LIBPWQUALITY )
|
|
endif()
|
|
|
|
include_directories( ${PROJECT_BINARY_DIR}/src/libcalamaresui )
|
|
|
|
set( _users_src
|
|
# Jobs
|
|
CreateUserJob.cpp
|
|
MiscJobs.cpp
|
|
SetPasswordJob.cpp
|
|
SetHostNameJob.cpp
|
|
# 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
|
|
UI
|
|
page_usersetup.ui
|
|
RESOURCES
|
|
users.qrc
|
|
LINK_PRIVATE_LIBRARIES
|
|
calamaresui
|
|
${CRYPT_LIBRARIES}
|
|
${USER_EXTRA_LIB}
|
|
users_internal
|
|
SHARED_LIB
|
|
)
|
|
|
|
calamares_add_test(
|
|
userspasswordtest
|
|
SOURCES
|
|
TestPasswordJob.cpp
|
|
SetPasswordJob.cpp
|
|
LIBRARIES
|
|
${CRYPT_LIBRARIES}
|
|
)
|
|
|
|
calamares_add_test(
|
|
userscreatetest
|
|
SOURCES
|
|
TestCreateUserJob.cpp
|
|
CreateUserJob.cpp
|
|
)
|
|
|
|
calamares_add_test(
|
|
usershostnametest
|
|
SOURCES
|
|
TestSetHostNameJob.cpp
|
|
SetHostNameJob.cpp
|
|
LIBRARIES
|
|
Qt5::DBus # HostName job can use DBus to systemd
|
|
)
|
|
|
|
calamares_add_test(
|
|
userstest
|
|
SOURCES
|
|
Tests.cpp
|
|
${_users_src} # Build again with test-visibility
|
|
LIBRARIES
|
|
${USER_EXTRA_LIB}
|
|
${CRYPT_LIBRARIES} # SetPassword job uses crypt()
|
|
Qt5::DBus # HostName job can use DBus to systemd
|
|
)
|