+# We need libhogweed and libgmp to be able to do more than hash calculations
+pkg_check_modules(HOGWEED hogweed)
+if (HOGWEED_FOUND)
+ find_package(GMP)
+endif()
+if (GMP_FOUND)
+ set(HAVE_CRYPTO true)
+ target_include_directories(libonak SYSTEM PUBLIC
+ ${GMP_INCLUDE_DIRS} ${HOGWEED_INCLUDE_DIRS})
+ LIST(APPEND LIBONAK_LIBRARIES ${GMP_LIBRARY} ${HOGWEED_LIBRARIES})
+
+ set(CMAKE_REQUIRED_INCLUDES ${NETTLE_INCLUDE_DIRS})
+ set(CMAKE_REQUIRED_LIBRARIES ${NETTLE_LIBRARIES} ${HOGWEED_LIBRARIES})
+ # API change in later version of Nettle
+ CHECK_SYMBOL_EXISTS(nettle_get_secp_256r1 "nettle/ecc-curve.h" HAVE_NETTLE_GET_SECP_256R1)
+ CHECK_SYMBOL_EXISTS(nettle_get_secp_384r1 "nettle/ecc-curve.h" HAVE_NETTLE_GET_SECP_384R1)
+ CHECK_SYMBOL_EXISTS(nettle_get_secp_521r1 "nettle/ecc-curve.h" HAVE_NETTLE_GET_SECP_521R1)
+endif()
+
+# keyd will use this for socket activation, if it's available
+pkg_check_modules(SYSTEMD libsystemd)
+if (SYSTEMD_FOUND)
+ set(HAVE_SYSTEMD true)
+endif()
+