164 lines
7.9 KiB
CMake
164 lines
7.9 KiB
CMake
|
|
# CMakeFiles for 3rd vendor library
|
||
|
|
|
||
|
|
include(ExternalProject)
|
||
|
|
|
||
|
|
### OpenSSL 1.1.1
|
||
|
|
ExternalProject_Add(OpenSSL PREFIX openssl
|
||
|
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.1.tar.gz
|
||
|
|
URL_MD5 d65944e4aa4de6ad9858e02c82d85183
|
||
|
|
CONFIGURE_COMMAND ./Configure linux-x86_64 --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl
|
||
|
|
no-weak-ssl-ciphers enable-ec_nistp_64_gcc_128 shared
|
||
|
|
BUILD_COMMAND ${MAKE_COMMAND}
|
||
|
|
INSTALL_COMMAND make install_sw
|
||
|
|
BUILD_IN_SOURCE 1)
|
||
|
|
|
||
|
|
ExternalProject_Get_Property(OpenSSL INSTALL_DIR)
|
||
|
|
set(OPENSSL_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
set(OPENSSL_LINK_DIRECTORIES ${INSTALL_DIR}/lib)
|
||
|
|
set(OPENSSL_PKGCONFIG_PATH ${INSTALL_DIR}/lib/pkgconfig/)
|
||
|
|
set(OPENSSL_INSTALLED_PATH ${INSTALL_DIR})
|
||
|
|
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(openssl-crypto-static STATIC IMPORTED GLOBAL)
|
||
|
|
add_dependencies(openssl-crypto-static OpenSSL)
|
||
|
|
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)
|
||
|
|
add_dependencies(openssl-ssl-static OpenSSL)
|
||
|
|
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)
|
||
|
|
|
||
|
|
add_library(openssl-crypto-dynamic SHARED IMPORTED GLOBAL)
|
||
|
|
add_dependencies(openssl-crypto-dynamic OpenSSL)
|
||
|
|
set_property(TARGET openssl-crypto-dynamic PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libcrypto.so)
|
||
|
|
set_property(TARGET openssl-crypto-dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(openssl-ssl-dynamic SHARED IMPORTED GLOBAL)
|
||
|
|
add_dependencies(openssl-ssl-dynamic OpenSSL)
|
||
|
|
set_property(TARGET openssl-ssl-dynamic PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libssl.so)
|
||
|
|
set_property(TARGET openssl-ssl-dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
|
||
|
|
### Libevent 2.1.8
|
||
|
|
### Use openssl 1.1.1
|
||
|
|
ExternalProject_Add(libevent PREFIX libevent
|
||
|
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/libevent-2.1.8-stable.tar.gz
|
||
|
|
URL_MD5 bf4d71806cb1cbc797a39625dbdd721f
|
||
|
|
CONFIGURE_COMMAND PKG_CONFIG_PATH=${OPENSSL_PKGCONFIG_PATH}
|
||
|
|
./configure --prefix=<INSTALL_DIR> --disable-samples CFLAGS=-fPIC
|
||
|
|
BUILD_COMMAND make LDFLAGS="-ldl"
|
||
|
|
BUILD_IN_SOURCE 1
|
||
|
|
DEPENDS OpenSSL)
|
||
|
|
|
||
|
|
ExternalProject_Get_Property(libevent INSTALL_DIR)
|
||
|
|
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libevent-dynamic SHARED IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libevent-dynamic libevent)
|
||
|
|
set_property(TARGET libevent-dynamic PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent.so)
|
||
|
|
set_property(TARGET libevent-dynamic PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread crypto)
|
||
|
|
set_property(TARGET libevent-dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libevent-static STATIC IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libevent-static libevent)
|
||
|
|
set_property(TARGET libevent-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent.a)
|
||
|
|
set_property(TARGET libevent-static PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread crypto)
|
||
|
|
set_property(TARGET libevent-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libevent-pthreads-static STATIC IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libevent-pthreads-static libevent)
|
||
|
|
set_property(TARGET libevent-pthreads-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent_pthreads.a)
|
||
|
|
set_property(TARGET libevent-pthreads-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libevent-openssl-dynamic SHARED IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libevent-openssl-dynamic libevent)
|
||
|
|
set_property(TARGET libevent-openssl-dynamic PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent_openssl.so)
|
||
|
|
set_property(TARGET libevent-openssl-dynamic PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread crypto)
|
||
|
|
set_property(TARGET libevent-openssl-dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libevent-openssl-static STATIC IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libevent-openssl-static libevent)
|
||
|
|
set_property(TARGET libevent-openssl-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libevent_openssl.a)
|
||
|
|
set_property(TARGET libevent-openssl-static PROPERTY IMPORTED_INTERFACE_LINK_LIBRARIES pthread crypto)
|
||
|
|
set_property(TARGET libevent-openssl-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
### libcurl
|
||
|
|
ExternalProject_Add(libcurl
|
||
|
|
PREFIX libcurl
|
||
|
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/curl-7.71.1.tar.gz
|
||
|
|
URL_MD5 39bc8d8ae8d59587e863abab739ce7b4
|
||
|
|
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> --with-ssl=${OPENSSL_INSTALLED_PATH} --disable-ldap --disable-ldaps CFLAGS=-fPIC
|
||
|
|
BUILD_IN_SOURCE 1
|
||
|
|
DEPENDS OpenSSL)
|
||
|
|
|
||
|
|
ExternalProject_Get_Property(libcurl INSTALL_DIR)
|
||
|
|
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libcurl-static STATIC IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libcurl-static libcurl)
|
||
|
|
set_property(TARGET libcurl-static PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libcurl.a)
|
||
|
|
set_property(TARGET libcurl-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libcurl-dynamic SHARED IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libcurl-dynamic libcurl)
|
||
|
|
set_property(TARGET libcurl-dynamic PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libcurl.so)
|
||
|
|
set_property(TARGET libcurl-dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
|
||
|
|
### cJSON
|
||
|
|
ExternalProject_Add(cJSON PREFIX cJSON
|
||
|
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/cJSON-1.7.7.tar.gz
|
||
|
|
URL_MD5 9a9d914540ad2cae2114296c623127e6
|
||
|
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
||
|
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DENABLE_LOCALES=Off
|
||
|
|
-DBUILD_SHARED_AND_STATIC_LIBS=1)
|
||
|
|
|
||
|
|
ExternalProject_Get_Property(cJSON INSTALL_DIR)
|
||
|
|
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(cjson SHARED IMPORTED GLOBAL)
|
||
|
|
add_dependencies(cjson cJSON)
|
||
|
|
set_property(TARGET cjson PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libcjson.a)
|
||
|
|
set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
INSTALL (DIRECTORY ${INSTALL_DIR}/include/ DESTINATION include)
|
||
|
|
|
||
|
|
add_library(cjson-dynamic SHARED IMPORTED GLOBAL)
|
||
|
|
add_dependencies(cjson-dynamic cJSON)
|
||
|
|
set_property(TARGET cjson-dynamic PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libcjson.so)
|
||
|
|
set_property(TARGET cjson-dynamic PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
### MESA Monitor
|
||
|
|
ExternalProject_Add(MesaMonitor PREFIX MesaMonitor
|
||
|
|
URL ${CMAKE_CURRENT_SOURCE_DIR}/libmesa_monitor-master.tar.gz
|
||
|
|
URL_MD5 91fa5666594a4db41def53c461652f19
|
||
|
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
||
|
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||
|
|
-DBUILD_SHARED_AND_STATIC_LIBS=1)
|
||
|
|
|
||
|
|
ExternalProject_Get_Property(MesaMonitor INSTALL_DIR)
|
||
|
|
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
add_library(libMesaMonitor STATIC IMPORTED GLOBAL)
|
||
|
|
add_dependencies(libMesaMonitor MesaMonitor)
|
||
|
|
set_property(TARGET libMesaMonitor PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libMESA_Monitor.a)
|
||
|
|
set_property(TARGET libMesaMonitor PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|
||
|
|
|
||
|
|
#### leveldb
|
||
|
|
#ExternalProject_Add(LevelDB PREFIX leveldb
|
||
|
|
# URL ${CMAKE_CURRENT_SOURCE_DIR}/leveldb-1.22.tar.gz
|
||
|
|
# URL_MD5 ada425fbd00dc0d3d892774bf71f6692
|
||
|
|
# CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
||
|
|
# -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||
|
|
# -DBUILD_SHARED_AND_STATIC_LIBS=1)
|
||
|
|
#
|
||
|
|
#ExternalProject_Get_Property(LevelDB INSTALL_DIR)
|
||
|
|
#file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
|
||
|
|
#
|
||
|
|
#add_library(libLevelDB STATIC IMPORTED GLOBAL)
|
||
|
|
#add_dependencies(libLevelDB LevelDB)
|
||
|
|
#set_property(TARGET libLevelDB PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/libleveldb.a)
|
||
|
|
#set_property(TARGET libLevelDB PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||
|
|
|