summaryrefslogtreecommitdiff
blob: 391aae014661fb945d0be1be7897c31997ab594e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
https://github.com/Yubico/libfido2/pull/579

From c359e5dba24ae7b44cc0d61fb7c00e652465853b Mon Sep 17 00:00:00 2001
From: Silke Hofstra <silke@slxh.eu>
Date: Fri, 6 May 2022 15:36:02 +0200
Subject: [PATCH 1/3] regress: link against chosen library

Compile `regress` against `${_FIDO2_LIBRARY}` so it links against
the shared library when building with `BUILD_STATIC_LIBS=OFF`.
--- a/regress/CMakeLists.txt
+++ b/regress/CMakeLists.txt
@@ -6,7 +6,7 @@ add_custom_target(regress)
 
 macro(add_regress_test NAME SOURCES)
 	add_executable(${NAME} ${SOURCES})
-	target_link_libraries(${NAME} fido2)
+	target_link_libraries(${NAME} ${_FIDO2_LIBRARY})
 	add_test(${NAME} ${NAME})
 	add_dependencies(regress ${NAME})
 endmacro()
@@ -17,6 +17,7 @@ if(MSVC AND BUILD_SHARED_LIBS)
 		"${CBOR_BIN_DIRS}/${CBOR_LIBRARIES}.dll"
 		"${CRYPTO_BIN_DIRS}/${CRYPTO_LIBRARIES}.dll"
 		"${ZLIB_BIN_DIRS}/${ZLIB_LIBRARIES}.dll"
+		"$<TARGET_FILE:${_FIDO2_LIBRARY}>"
 		"${CMAKE_CURRENT_BINARY_DIR}")
 endif()
 

From a5413255cb0dd4579faf0dda0ce1b3e45db398e9 Mon Sep 17 00:00:00 2001
From: Silke Hofstra <silke@slxh.eu>
Date: Mon, 9 May 2022 10:56:29 +0200
Subject: [PATCH 3/3] regress: run compression test against static lib only

--- a/regress/CMakeLists.txt
+++ b/regress/CMakeLists.txt
@@ -4,13 +4,22 @@
 
 add_custom_target(regress)
 
-macro(add_regress_test NAME SOURCES)
+macro(add_regress_test_common NAME SOURCES)
 	add_executable(${NAME} ${SOURCES})
-	target_link_libraries(${NAME} ${_FIDO2_LIBRARY})
 	add_test(${NAME} ${NAME})
 	add_dependencies(regress ${NAME})
 endmacro()
 
+macro(add_regress_test NAME SOURCES)
+	add_regress_test_common(${NAME} ${SOURCES})
+	target_link_libraries(${NAME} ${_FIDO2_LIBRARY})
+endmacro()
+
+macro(add_regress_static_test NAME SOURCES)
+	add_regress_test_common(${NAME} ${SOURCES})
+	target_link_libraries(${NAME} fido2)
+endmacro()
+
 if(MSVC AND BUILD_SHARED_LIBS)
 	add_custom_command(TARGET regress POST_BUILD
 	    COMMAND "${CMAKE_COMMAND}" -E copy
@@ -33,13 +42,17 @@ else()
 endif()
 
 add_regress_test(regress_assert assert.c)
-add_regress_test(regress_compress compress.c)
 add_regress_test(regress_cred cred.c)
 add_regress_test(regress_dev dev.c)
 add_regress_test(regress_eddsa eddsa.c)
 add_regress_test(regress_es256 es256.c)
 add_regress_test(regress_rs256 rs256.c)
 
+# Run these tests only against the static library
+if(BUILD_STATIC_LIBS)
+	add_regress_static_test(regress_compress compress.c)
+endif()
+
 if(MINGW)
 	# needed for nanosleep() in mingw
 	target_link_libraries(regress_dev winpthread)