Blob Blame History Raw
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 40b5c06..0048e4c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,6 +22,12 @@ include(ECMQtDeclareLoggingCategory)
 
 include_directories(${PWQUALITY_INCLUDE_DIR})
 
+if (NOT APPLE)
+include(FindPkgConfig)
+pkg_check_modules(LIBXCRYPT REQUIRED libxcrypt)
+include_directories(${LIBXCRYPT_INCLUDE_DIRS})
+endif()
+
 # Set KI18n translation domain
 add_definitions(-DTRANSLATION_DOMAIN=\"user_manager\")
 if (EXISTS "${CMAKE_SOURCE_DIR}/.git")
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index edeb158..2a19c71 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -54,7 +54,7 @@ target_link_libraries(user_manager
 )
 
 if (NOT APPLE)
-target_link_libraries(user_manager crypt)
+target_link_libraries(user_manager ${LIBXCRYPT_LIBRARIES})
 endif()
 
 install(TARGETS user_manager DESTINATION ${PLUGIN_INSTALL_DIR})
diff --git a/src/lib/accountmodel.cpp b/src/lib/accountmodel.cpp
index a17b9c3..25f45fb 100644
--- a/src/lib/accountmodel.cpp
+++ b/src/lib/accountmodel.cpp
@@ -40,6 +40,8 @@
 #include <KConfig>
 #include <KConfigGroup>
 
+#include <crypt.h>
+
 AutomaticLoginSettings::AutomaticLoginSettings()
 {
     KConfig config(QStringLiteral("/etc/sddm.conf.d/kde_settings.conf"));