[users] Use more-modern CMake constructs
This commit is contained in:
parent
b2d9b20edc
commit
acd0875f1d
@ -6,6 +6,13 @@
|
|||||||
find_package(${qtname} ${QT_VERSION} CONFIG REQUIRED Core DBus Network)
|
find_package(${qtname} ${QT_VERSION} CONFIG REQUIRED Core DBus Network)
|
||||||
find_package(Crypt REQUIRED)
|
find_package(Crypt REQUIRED)
|
||||||
|
|
||||||
|
# Provide modern alias for -lcrypt
|
||||||
|
add_library(crypt_crypt INTERFACE)
|
||||||
|
add_library(crypt::crypt ALIAS crypt_crypt)
|
||||||
|
if(Crypt_FOUND)
|
||||||
|
target_link_libraries(crypt_crypt INTERFACE ${CRYPT_LIBRARIES})
|
||||||
|
endif()
|
||||||
|
|
||||||
# Check for crypt_gensalt
|
# Check for crypt_gensalt
|
||||||
if(Crypt_FOUND)
|
if(Crypt_FOUND)
|
||||||
set(_old_CRL "${CMAKE_REQUIRED_LIBRARIES}")
|
set(_old_CRL "${CMAKE_REQUIRED_LIBRARIES}")
|
||||||
@ -13,8 +20,9 @@ if(Crypt_FOUND)
|
|||||||
include(CheckSymbolExists)
|
include(CheckSymbolExists)
|
||||||
check_symbol_exists(crypt_gensalt crypt.h HAS_CRYPT_GENSALT)
|
check_symbol_exists(crypt_gensalt crypt.h HAS_CRYPT_GENSALT)
|
||||||
set(CMAKE_REQUIRED_LIBRARIES "${_old_CRL}")
|
set(CMAKE_REQUIRED_LIBRARIES "${_old_CRL}")
|
||||||
|
|
||||||
if(HAS_CRYPT_GENSALT)
|
if(HAS_CRYPT_GENSALT)
|
||||||
add_definitions(-DHAVE_CRYPT_GENSALT)
|
target_compile_definitions(crypt_crypt INTERFACE HAVE_CRYPT_GENSALT)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -22,7 +30,7 @@ endif()
|
|||||||
set(USER_EXTRA_LIB
|
set(USER_EXTRA_LIB
|
||||||
${kfname}::CoreAddons
|
${kfname}::CoreAddons
|
||||||
${qtname}::DBus
|
${qtname}::DBus
|
||||||
${CRYPT_LIBRARIES}
|
crypt::crypt
|
||||||
)
|
)
|
||||||
|
|
||||||
find_package(LibPWQuality)
|
find_package(LibPWQuality)
|
||||||
@ -85,13 +93,16 @@ calamares_add_plugin(users
|
|||||||
users.qrc
|
users.qrc
|
||||||
LINK_PRIVATE_LIBRARIES
|
LINK_PRIVATE_LIBRARIES
|
||||||
users_internal
|
users_internal
|
||||||
${CRYPT_LIBRARIES}
|
crypt::crypt
|
||||||
${USER_EXTRA_LIB}
|
${USER_EXTRA_LIB}
|
||||||
SHARED_LIB
|
SHARED_LIB
|
||||||
)
|
)
|
||||||
|
|
||||||
if(NOT HAS_CRYPT_GENSALT)
|
if(NOT HAS_CRYPT_GENSALT)
|
||||||
calamares_add_test(userspasswordtest SOURCES TestPasswordJob.cpp SetPasswordJob.cpp LIBRARIES ${CRYPT_LIBRARIES})
|
# Test checks characteristics of the generated hash, but
|
||||||
|
# when HAVE_CRYPT_GENSALT is used, the chosen hash is the "best"
|
||||||
|
# one -- difficult to set expectations in the tests, so skip it.
|
||||||
|
calamares_add_test(userspasswordtest SOURCES TestPasswordJob.cpp SetPasswordJob.cpp LIBRARIES crypt::crypt)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
calamares_add_test(
|
calamares_add_test(
|
||||||
@ -102,7 +113,7 @@ calamares_add_test(
|
|||||||
LIBRARIES
|
LIBRARIES
|
||||||
${kfname}::CoreAddons
|
${kfname}::CoreAddons
|
||||||
${qtname}::DBus # HostName job can use DBus to systemd
|
${qtname}::DBus # HostName job can use DBus to systemd
|
||||||
${CRYPT_LIBRARIES} # SetPassword job uses crypt()
|
crypt::crypt # SetPassword job uses crypt()
|
||||||
${USER_EXTRA_LIB}
|
${USER_EXTRA_LIB}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -121,6 +132,6 @@ calamares_add_test(
|
|||||||
LIBRARIES
|
LIBRARIES
|
||||||
${kfname}::CoreAddons
|
${kfname}::CoreAddons
|
||||||
${qtname}::DBus # HostName job can use DBus to systemd
|
${qtname}::DBus # HostName job can use DBus to systemd
|
||||||
${CRYPT_LIBRARIES} # SetPassword job uses crypt()
|
crypt::crypt # SetPassword job uses crypt()
|
||||||
${USER_EXTRA_LIB}
|
${USER_EXTRA_LIB}
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user