- Adapted CMake files for the PKCS#11 support
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ed01dae..1c6a583 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,6 +11,8 @@
set(CMAKE_SHARED_LINKER_FLAGS "-fprofile-arcs -ftest-coverage")
endif(CMAKE_BUILD_TYPE STREQUAL "Coverage")
+option(USE_PKCS11_HELPER_LIBRARY "Build PolarSSL with the pkcs11-helper library." OFF)
+
include_directories(include/)
add_subdirectory(library)
diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
index 62a3eb5..9cce0f3 100644
--- a/library/CMakeLists.txt
+++ b/library/CMakeLists.txt
@@ -20,6 +20,7 @@
md5.c
net.c
padlock.c
+ pkcs11.c
rsa.c
sha1.c
sha2.c
diff --git a/programs/ssl/CMakeLists.txt b/programs/ssl/CMakeLists.txt
index 14b1d3e..f5c26d2 100644
--- a/programs/ssl/CMakeLists.txt
+++ b/programs/ssl/CMakeLists.txt
@@ -1,11 +1,19 @@
+set(libs
+ polarssl
+)
+
+if(USE_PKCS11_HELPER_LIBRARY)
+ set(libs ${libs} pkcs11-helper)
+endif(USE_PKCS11_HELPER_LIBRARY)
+
add_executable(ssl_client1 ssl_client1.c)
-target_link_libraries(ssl_client1 polarssl)
+target_link_libraries(ssl_client1 ${libs})
add_executable(ssl_client2 ssl_client2.c)
-target_link_libraries(ssl_client2 polarssl)
+target_link_libraries(ssl_client2 ${libs})
add_executable(ssl_server ssl_server.c)
-target_link_libraries(ssl_server polarssl)
+target_link_libraries(ssl_server ${libs})
INSTALL(TARGETS ssl_client1 ssl_client2 ssl_server
DESTINATION "bin"
diff --git a/programs/test/CMakeLists.txt b/programs/test/CMakeLists.txt
index 9cd43ba..87f08c7 100644
--- a/programs/test/CMakeLists.txt
+++ b/programs/test/CMakeLists.txt
@@ -1,14 +1,22 @@
+set(libs
+ polarssl
+)
+
+if(USE_PKCS11_HELPER_LIBRARY)
+ set(libs ${libs} pkcs11-helper)
+endif(USE_PKCS11_HELPER_LIBRARY)
+
add_executable(selftest selftest.c)
-target_link_libraries(selftest polarssl)
+target_link_libraries(selftest ${libs})
add_executable(benchmark benchmark.c)
-target_link_libraries(benchmark polarssl)
+target_link_libraries(benchmark ${libs})
add_executable(ssl_test ssl_test.c)
-target_link_libraries(ssl_test polarssl)
+target_link_libraries(ssl_test ${libs})
add_executable(ssl_cert_test ssl_cert_test.c)
-target_link_libraries(ssl_cert_test polarssl)
+target_link_libraries(ssl_cert_test ${libs})
INSTALL(TARGETS selftest benchmark ssl_test ssl_cert_test
DESTINATION "bin"
diff --git a/programs/x509/CMakeLists.txt b/programs/x509/CMakeLists.txt
index 29e5854..872feb4 100644
--- a/programs/x509/CMakeLists.txt
+++ b/programs/x509/CMakeLists.txt
@@ -1,5 +1,13 @@
+set(libs
+ polarssl
+)
+
+if(USE_PKCS11_HELPER_LIBRARY)
+ set(libs ${libs} pkcs11-helper)
+endif(USE_PKCS11_HELPER_LIBRARY)
+
add_executable(cert_app cert_app.c)
-target_link_libraries(cert_app polarssl)
+target_link_libraries(cert_app ${libs})
INSTALL(TARGETS cert_app
DESTINATION "bin"
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 1bfce18..1bea361 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,3 +1,11 @@
+set(libs
+ polarssl
+)
+
+if(USE_PKCS11_HELPER_LIBRARY)
+ set(libs ${libs} pkcs11-helper)
+endif(USE_PKCS11_HELPER_LIBRARY)
+
function(add_test_suite suite_name)
add_custom_command(
OUTPUT test_suite_${suite_name}.c
@@ -7,7 +15,7 @@
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
add_executable(test_suite_${suite_name} test_suite_${suite_name}.c)
- target_link_libraries(test_suite_${suite_name} polarssl)
+ target_link_libraries(test_suite_${suite_name} ${libs})
add_test(${suite_name}-suite test_suite_${suite_name})
endfunction(add_test_suite)