summaryrefslogtreecommitdiff
path: root/cmake/modules/FindPKCS11.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindPKCS11.cmake')
-rw-r--r--cmake/modules/FindPKCS11.cmake24
1 files changed, 24 insertions, 0 deletions
diff --git a/cmake/modules/FindPKCS11.cmake b/cmake/modules/FindPKCS11.cmake
new file mode 100644
index 0000000..d4e3110
--- /dev/null
+++ b/cmake/modules/FindPKCS11.cmake
@@ -0,0 +1,24 @@
+# - Find pkcs11
+# Find the PKCS11 module
+#
+# PKCS11_MODULE - pkcs11 module path and name
+# PKCS11_MODULE_FOUND - True if pkcs11 module found.
+
+if( WIN32 )
+ set( PKCS11_NAME esteid-pkcs11.dll opensc-pkcs11.dll )
+else()
+ set( PKCS11_NAME esteid-pkcs11.so opensc-pkcs11.so )
+endif()
+
+if( APPLE )
+ find_library( PKCS11_MODULE NAMES ${PKCS11_NAME} HINTS /Library/EstonianIDCard/lib /Library/OpenSC/lib )
+else()
+ list( GET PKCS11_NAME 1 PKCS11_MODULE )
+endif()
+
+# handle the QUIETLY and REQUIRED arguments and set PKCS11_MODULE_FOUND to TRUE if
+# all listed variables are TRUE
+include( FindPackageHandleStandardArgs )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( PKCS11_Module DEFAULT_MSG PKCS11_MODULE )
+
+MARK_AS_ADVANCED( PKCS11_MODULE )