Skip to content

Commit d8839ef

Browse files
committed
fixed portability issues
1 parent 28ba870 commit d8839ef

File tree

3 files changed

+60
-4
lines changed

3 files changed

+60
-4
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ endif()
3636

3737
find_package(itslib REQUIRED)
3838

39-
find_package(OpenSSL REQUIRED)
39+
find_package(openssl REQUIRED)
4040
find_package(Boost REQUIRED date_time)
4141
#find_package(ZLIB REQUIRED)
4242
find_package(zlib)

cmake_find/Findopenssl.cmake

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
if (TARGET openssl_ssl)
2+
return()
3+
endif()
4+
if (DARWIN)
5+
find_path(OPENSSL_INCLUDE_PATH NAMES openssl/sha.h
6+
PATHS $ENV{OPENSSL_ROOT_DIR}/include /usr/include /usr/local/include /usr/local/opt/openssl/include)
7+
find_library(OPENSSL_CRYPTO_LIBRARY NAMES crypto
8+
PATHS $ENV{OPENSSL_ROOT_DIR}/lib /usr/local/opt/openssl/lib /usr/lib /usr/local/lib)
9+
find_library(OPENSSL_SSL_LIBRARY NAMES ssl
10+
PATHS $ENV{OPENSSL_ROOT_DIR}/lib /usr/local/opt/openssl/lib /usr/lib /usr/local/lib)
11+
elseif(WIN32)
12+
find_path(OPENSSL_INCLUDE_PATH NAMES openssl/sha.h
13+
PATHS "c:/local/OpenSSL-Win64/include"
14+
"c:/Program Files/OpenSSL-Win64/include")
15+
find_library(OPENSSL_CRYPTO_LIBRARY NAMES libcrypto
16+
PATHS "c:/local/OpenSSL-Win64/lib"
17+
"c:/Program Files/OpenSSL-Win64/lib")
18+
find_library(OPENSSL_SSL_LIBRARY NAMES libssl
19+
PATHS "c:/local/OpenSSL-Win64/lib"
20+
"c:/Program Files/OpenSSL-Win64/lib")
21+
22+
else()
23+
find_package(OpenSSL)
24+
if (OpenSSL_FOUND)
25+
return()
26+
endif()
27+
28+
find_path(OPENSSL_INCLUDE_PATH NAMES openssl/sha.h
29+
PATHS /usr/include /usr/local/include /usr/local/opt/openssl/include)
30+
find_library(OPENSSL_CRYPTO_LIBRARY NAMES crypto
31+
PATHS /usr/local/opt/openssl/lib /usr/lib /usr/local/lib)
32+
find_library(OPENSSL_SSL_LIBRARY NAMES ssl
33+
PATHS /usr/local/opt/openssl/lib /usr/lib /usr/local/lib)
34+
endif()
35+
36+
if (OPENSSL_CRYPTO_LIBRARY STREQUAL "OPENSSL_CRYPTO_LIBRARY-NOTFOUND")
37+
message(FATAL_ERROR "Could not find libcrypto")
38+
endif()
39+
if (OPENSSL_SSL_LIBRARY STREQUAL "OPENSSL_SSL_LIBRARY-NOTFOUND")
40+
message(FATAL_ERROR "Could not find libssl")
41+
endif()
42+
43+
44+
add_library(openssl_ssl INTERFACE)
45+
target_include_directories(openssl_ssl INTERFACE ${OPENSSL_INCLUDE_PATH})
46+
target_link_libraries(openssl_ssl INTERFACE ${OPENSSL_SSL_LIBRARY})
47+
target_compile_definitions(openssl_ssl INTERFACE -DOPENSSL_SUPPRESS_DEPRECATED)
48+
49+
add_library(openssl_crypto INTERFACE)
50+
target_include_directories(openssl_crypto INTERFACE ${OPENSSL_INCLUDE_PATH})
51+
target_link_libraries(openssl_crypto INTERFACE ${OPENSSL_CRYPTO_LIBRARY})
52+
target_compile_definitions(openssl_crypto INTERFACE -DOPENSSL_SUPPRESS_DEPRECATED)
53+
54+
add_library(OpenSSL::Crypto ALIAS openssl_crypto)
55+
add_library(OpenSSL::SSL ALIAS openssl_ssl)
56+

cmake_find/Findzlib.cmake

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
include(FetchContent)
22
FetchContent_Populate(zlib
33
# TODO: we need a method of supplying a local cache of this file.
4-
URL http://www.zlib.net/zlib-1.2.13.tar.gz
5-
URL_HASH SHA256=b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30
4+
URL https://www.zlib.net/zlib-1.3.tar.gz
5+
URL_HASH SHA256=ff0ba4c292013dbc27530b3a81e1f9a813cd39de01ca5e0f8bf355702efa593e
66
)
77
set(ZLIBDIR ${CMAKE_BINARY_DIR}/zlib-src)
88

99
list(APPEND ZLIBFILES inftrees.c infback.c compress.c inffast.c adler32.c uncompr.c inflate.c deflate.c crc32.c trees.c zutil.c)
10-
list(APPEND ZLIBFILES gzclose.c gzread.c gzwrite.c gzlib.c)
10+
#list(APPEND ZLIBFILES gzclose.c gzread.c gzwrite.c gzlib.c) <-- build failure on macos because of missing include <unistd.h>
1111
list(TRANSFORM ZLIBFILES PREPEND ${ZLIBDIR}/)
1212
add_library(zlib ${LIBSTYLE} ${ZLIBFILES})
1313
target_include_directories(zlib PUBLIC ${ZLIBDIR})

0 commit comments

Comments
 (0)