diff options
| author | Lu <[email protected]> | 2018-08-15 11:02:12 +0800 |
|---|---|---|
| committer | Lu <[email protected]> | 2018-08-15 11:02:12 +0800 |
| commit | 143373018ef0443cf8c02b7f5bae8a393bfac819 (patch) | |
| tree | efb2b9f32ff32bb44520e2eea6ce36568f93b1ba | |
| parent | 41843ef4785b8184801fd63597610d0a381507ae (diff) | |
使用最新版本静态编译OpenSSL
| -rw-r--r-- | src/CMakeLists.txt | 11 | ||||
| -rw-r--r-- | vendor/CMakeLists.txt | 48 | ||||
| -rw-r--r-- | vendor/openssl-1.1.0h.tar.gz | bin | 0 -> 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 Binary files differnew file mode 100644 index 0000000..8fb67f8 --- /dev/null +++ b/vendor/openssl-1.1.0h.tar.gz |
