File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed
Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,8 @@ option( CPP-NETLIB_BUILD_SHARED_LIBS "Build cpp-netlib as shared libraries." OFF
1111option ( CPP-NETLIB_BUILD_TESTS "Build the cpp-netlib project tests." ON )
1212option ( CPP-NETLIB_BUILD_EXAMPLES "Build the cpp-netlib project examples." ON )
1313option ( CPP-NETLIB_ENABLE_HTTPS "Build cpp-netlib with support for https if OpenSSL is found." ON )
14+ option ( CPP-NETLIB_STATIC_OPENSSL "Build cpp-netlib using static OpenSSL" OFF )
15+ option ( CPP-NETLIB_STATIC_BOOST "Build cpp-netlib using static Boost" OFF )
1416
1517include (GNUInstallDirs )
1618
@@ -36,8 +38,10 @@ else()
3638 set (BUILD_SHARED_LIBS OFF )
3739endif ()
3840
39- # Always use Boost's shared libraries.
40- set (Boost_USE_STATIC_LIBS OFF )
41+ # Use Boost's static libraries
42+ if (CPP-NETLIB_STATIC_BOOST)
43+ set (Boost_USE_STATIC_LIBS ON )
44+ endif ()
4145
4246# We need this for all tests to use the dynamic version.
4347add_definitions (-DBOOST_TEST_DYN_LINK )
@@ -64,6 +68,9 @@ if (CPP-NETLIB_ENABLE_HTTPS)
6468 endif ()
6569 endif ()
6670 endif ()
71+ if (CPP-NETLIB_STATIC_OPENSSL)
72+ set (CMAKE_FIND_LIBRARY_SUFFIXES .a)
73+ endif ()
6774 find_package (OpenSSL )
6875endif ()
6976
Original file line number Diff line number Diff line change @@ -32,6 +32,11 @@ set_target_properties(cppnetlib-client-connections
3232target_link_libraries (cppnetlib-client-connections ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} )
3333if (OPENSSL_FOUND)
3434 target_link_libraries (cppnetlib-client-connections ${OPENSSL_LIBRARIES} )
35+ if (CPP-NETLIB_STATIC_OPENSSL)
36+ if (NOT MSVC AND NOT MINGW AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" ) # dynlinker functions are built into libc on FreeBSD
37+ target_link_libraries (cppnetlib-client-connections "-ldl" )
38+ endif ()
39+ endif ()
3540endif ()
3641install (TARGETS cppnetlib-client-connections
3742 EXPORT cppnetlibTargets
You can’t perform that action at this time.
0 commit comments