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
82
83
84
85
86
87
88
|
From 1f7f5bf3dccee957e23bdf4d976883b155d5e81a Mon Sep 17 00:00:00 2001
From: Anders Jenbo <anders@jenbo.dk>
Date: Tue, 23 Jul 2019 21:34:08 +0200
Subject: [PATCH] Use facebookincubator findflindsodium cmake helper
https://github.com/facebookincubator/fizz/blob/master/fizz/cmake/FindSodium.cmake
---
CMake/Findsodium.cmake | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/CMake/Findsodium.cmake b/CMake/Findsodium.cmake
index 0667920c..c664ccbe 100644
--- a/CMake/Findsodium.cmake
+++ b/CMake/Findsodium.cmake
@@ -55,22 +55,22 @@ if (UNIX)
endif()
if(sodium_USE_STATIC_LIBS)
- if (sodium_PKG_STATIC_LIBRARIES)
- foreach(_libname ${sodium_PKG_STATIC_LIBRARIES})
- if (NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending with .a
- list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a")
- endif()
- endforeach()
- list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES)
- else()
- # if pkgconfig for libsodium doesn't provide
- # static lib info, then override PKG_STATIC here..
+ foreach(_libname ${sodium_PKG_STATIC_LIBRARIES})
+ if (NOT _libname MATCHES "^lib.*\\.a$") # ignore strings already ending with .a
+ list(INSERT sodium_PKG_STATIC_LIBRARIES 0 "lib${_libname}.a")
+ endif()
+ endforeach()
+ list(REMOVE_DUPLICATES sodium_PKG_STATIC_LIBRARIES)
+
+ # if pkgconfig for libsodium doesn't provide
+ # static lib info, then override PKG_STATIC here..
+ if (NOT sodium_PKG_STATIC_FOUND)
set(sodium_PKG_STATIC_LIBRARIES libsodium.a)
endif()
set(XPREFIX sodium_PKG_STATIC)
else()
- if (sodium_PKG_LIBRARIES STREQUAL "")
+ if (NOT sodium_PKG_FOUND)
set(sodium_PKG_LIBRARIES sodium)
endif()
@@ -101,7 +101,7 @@ elseif (WIN32)
if (MSVC)
# detect target architecture
- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.c" [=[
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/arch.cpp" [=[
#if defined _M_IX86
#error ARCH_VALUE x86_32
#elif defined _M_X64
@@ -109,7 +109,7 @@ elseif (WIN32)
#endif
#error ARCH_VALUE unknown
]=])
- try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/arch.c"
+ try_compile(_UNUSED_VAR "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/arch.cpp"
OUTPUT_VARIABLE _COMPILATION_LOG
)
string(REGEX REPLACE ".*ARCH_VALUE ([a-zA-Z0-9_]+).*" "\\1" _TARGET_ARCH "${_COMPILATION_LOG}")
@@ -224,7 +224,8 @@ endif()
# communicate results
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(sodium
+find_package_handle_standard_args(
+ Sodium # The name must be either uppercase or match the filename case.
REQUIRED_VARS
sodium_LIBRARY_RELEASE
sodium_LIBRARY_DEBUG
@@ -233,6 +234,11 @@ find_package_handle_standard_args(sodium
sodium_VERSION
)
+if(Sodium_FOUND)
+ set(sodium_LIBRARIES
+ optimized ${sodium_LIBRARY_RELEASE} debug ${sodium_LIBRARY_DEBUG})
+endif()
+
# mark file paths as advanced
mark_as_advanced(sodium_INCLUDE_DIR)
mark_as_advanced(sodium_LIBRARY_DEBUG)
|