summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLu <[email protected]>2018-08-15 11:02:12 +0800
committerLu <[email protected]>2018-08-15 11:02:12 +0800
commit143373018ef0443cf8c02b7f5bae8a393bfac819 (patch)
treeefb2b9f32ff32bb44520e2eea6ce36568f93b1ba
parent41843ef4785b8184801fd63597610d0a381507ae (diff)
使用最新版本静态编译OpenSSL
-rw-r--r--src/CMakeLists.txt11
-rw-r--r--vendor/CMakeLists.txt48
-rw-r--r--vendor/openssl-1.1.0h.tar.gzbin0 -> 5422717 bytes
3 files changed, 36 insertions, 23 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 909fb73..8f6c432 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,3 @@
-find_package(OpenSSL REQUIRED)
-
add_library(tfe-library base64.cc build.cc cache.cc cachemgr.cc cachessess.cc compat.cc easylogging++.cc
cachedsess.cc cachetgcrt.cc cachefkcrt.cc cert.cc certstore.cc logger.cc cfgparser.cc
dynbuf.cc nat.cc opts.cc privsep.cc proxy.cc pxythrmgr.cc pxysslshut.cc pxyconn.cc
@@ -8,17 +6,18 @@ add_library(tfe-library base64.cc build.cc cache.cc cachemgr.cc cachessess.cc co
#pxyconn.cc
target_compile_definitions(tfe-library PUBLIC -DELPP_THREAD_SAFE -DELPP_FEATURE_ALL)
-target_include_directories(tfe-library PRIVATE ${OPENSSL_INCLUDE_DIR})
-target_link_libraries(tfe-library ${OPENSSL_LIBRARIES})
target_link_libraries(tfe-library
- pthread libevent-static
+ openssl-crypto-static
+ openssl-ssl-static
+ pthread
+ libevent-static
libevent-static-openssl
libevent-static-pthreads
http-parser-static
nghttp2-static
MESA_prof_load-static
MESA_field_stat2
- jsoncpp rdkafka pcrecpp )
+ jsoncpp rdkafka pcrecpp)
target_link_libraries(tfe-library maatframe MESA_handle_logger)
diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt
index 9e535bc..00faebc 100644
--- a/vendor/CMakeLists.txt
+++ b/vendor/CMakeLists.txt
@@ -2,17 +2,38 @@
include(ExternalProject)
+### OpenSSL 1.1.0h
+ExternalProject_Add(OpenSSL PREFIX openssl
+ URL ${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.0h.tar.gz
+ URL_MD5 5271477e4d93f4ea032b665ef095ff24
+ CONFIGURE_COMMAND ./Configure linux-x86_64 --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl
+ no-weak-ssl-ciphers enable-ec_nistp_64_gcc_128 no-shared
+ BUILD_IN_SOURCE 1)
+
+ExternalProject_Get_Property(OpenSSL INSTALL_DIR)
+set(OPENSSL_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
+set(OPENSSL_LINK_DIRECTORIES ${INSTALL_DIR}/lib)
+file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
+
+add_library(openssl-crypto-static STATIC IMPORTED GLOBAL)
+set_property(TARGET openssl-crypto-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libcrypto.a)
+set_property(TARGET openssl-crypto-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
+
+add_library(openssl-ssl-static STATIC IMPORTED GLOBAL)
+set_property(TARGET openssl-ssl-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libssl.a)
+set_property(TARGET openssl-ssl-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
+
### Libevent 2.1.8
-ExternalProject_Add(libevent
- PREFIX libevent
+### Use openssl 1.1.0h
+ExternalProject_Add(libevent PREFIX libevent
URL ${CMAKE_CURRENT_SOURCE_DIR}/libevent-2.1.8-stable.tar.gz
URL_MD5 f3eeaed018542963b7d2416ef1135ecc
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> --disable-shared
+ BUILD_COMMAND make "CPPFLAGS=-I${OPENSSL_INCLUDE_DIRECTORIES}" "LDFLAGS=-L${OPENSSL_LINK_DIRECTORIES} -ldl"
BUILD_IN_SOURCE 1)
ExternalProject_Get_Property(libevent INSTALL_DIR)
-set(LIBEVENT_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
-file(MAKE_DIRECTORY ${LIBEVENT_INCLUDE_DIRECTORIES})
+file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
add_library(libevent-static STATIC IMPORTED GLOBAL)
set_property(TARGET libevent-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent.a)
@@ -30,8 +51,7 @@ set_property(TARGET libevent-static-pthreads PROPERTY IMPORTED_INTERFACE_LINK_LI
set_property(TARGET libevent-static-pthreads PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
### http parser
-ExternalProject_Add(http-parser
- PREFIX http-parser
+ExternalProject_Add(http-parser PREFIX http-parser
URL ${CMAKE_CURRENT_SOURCE_DIR}/http-parser-2.8.1.tar.gz
URL_MD5 cb8cbe17d68c4101eebe80229e32efdb
CONFIGURE_COMMAND ""
@@ -48,23 +68,20 @@ set_property(TARGET http-parser-static PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/
set_property(TARGET http-parser-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR})
### libcheck
-ExternalProject_Add(libcheck
- PREFIX libcheck
+ExternalProject_Add(libcheck PREFIX libcheck
URL ${CMAKE_CURRENT_SOURCE_DIR}/check-0.12.0.tar.gz
URL_MD5 31b17c6075820a434119592941186f70
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> --disable-shared
BUILD_IN_SOURCE 1)
ExternalProject_Get_Property(libcheck INSTALL_DIR)
-set(LIBCHECK_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
-file(MAKE_DIRECTORY ${LIBCHECK_INCLUDE_DIRECTORIES})
+file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
add_library(libcheck-static STATIC IMPORTED GLOBAL)
set_property(TARGET libcheck-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libcheck.a)
set_property(TARGET libcheck-static PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread rt m)
set_property(TARGET libcheck-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
-
### nghttp2
ExternalProject_Add(nghttp2
PREFIX nghttp2
@@ -74,8 +91,7 @@ ExternalProject_Add(nghttp2
BUILD_IN_SOURCE 1)
ExternalProject_Get_Property(nghttp2 INSTALL_DIR)
-set(LIBCHECK_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
-file(MAKE_DIRECTORY ${LIBCHECK_INCLUDE_DIRECTORIES})
+file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
add_library(nghttp2-static STATIC IMPORTED GLOBAL)
set_property(TARGET nghttp2-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libnghttp2.a)
@@ -93,8 +109,7 @@ ExternalProject_Add(MESA_prof_load
BUILD_IN_SOURCE 1)
ExternalProject_Get_Property(MESA_prof_load SOURCE_DIR)
-set(MESA_PROF_LOAD_INCLUDE_DIRECTORIES ${SOURCE_DIR}/include)
-file(MAKE_DIRECTORY ${MESA_PROF_LOAD_INCLUDE_DIRECTORIES})
+file(MAKE_DIRECTORY ${SOURCE_DIR}/inc)
add_library(MESA_prof_load-static STATIC IMPORTED GLOBAL)
set_property(TARGET MESA_prof_load-static PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/lib/libMESA_prof_load.a)
@@ -117,5 +132,4 @@ set_property(TARGET MESA_prof_load-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES
#
#add_library(gmock STATIC IMPORTED GLOBAL)
#set_property(TARGET gmock PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgtest.a)
-#set_property(TARGET gmock PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
-
+#set_property(TARGET gmock PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) \ No newline at end of file
diff --git a/vendor/openssl-1.1.0h.tar.gz b/vendor/openssl-1.1.0h.tar.gz
new file mode 100644
index 0000000..8fb67f8
--- /dev/null
+++ b/vendor/openssl-1.1.0h.tar.gz
Binary files differ