Add option LIBRESSL_SKIP_INSTALL
Internally LIBRESSL_SKIP_INSTALL, if not set becomes ENABLE_LIBRESSL_INSTALL so this by default is enabled. defining LIBRESSL_SKIP_INSTALL before hand will disable all install() rules. This is useful if another project includes and links to this statically. I chose to add a prefix to avoid potential name collision because the options are cached globally. If the installation is skipped, maybe it should also disable building apps? I didn't do that.
This commit is contained in:
parent
728bda1830
commit
2557dd7439
@ -26,12 +26,18 @@ string(STRIP ${TLS_VERSION} TLS_VERSION)
|
||||
string(REPLACE ":" "." TLS_VERSION ${TLS_VERSION})
|
||||
string(REGEX REPLACE "\\..*" "" TLS_MAJOR_VERSION ${TLS_VERSION})
|
||||
|
||||
option(LIBRESSL_SKIP_INSTALL "Skip installation" ${LIBRESSL_SKIP_INSTALL})
|
||||
option(ENABLE_ASM "Enable assembly" ON)
|
||||
option(ENABLE_EXTRATESTS "Enable extra tests that may be unreliable on some platforms" OFF)
|
||||
option(ENABLE_NC "Enable installing TLS-enabled nc(1)" OFF)
|
||||
option(ENABLE_VSTEST "Enable test on Visual Studio" OFF)
|
||||
set(OPENSSLDIR ${OPENSSLDIR} CACHE PATH "Set the default openssl directory" FORCE)
|
||||
|
||||
if(NOT LIBRESSL_SKIP_INSTALL)
|
||||
set( ENABLE_LIBRESSL_INSTALL ON )
|
||||
endif(NOT LIBRESSL_SKIP_INSTALL)
|
||||
|
||||
|
||||
set(BUILD_NC true)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
|
@ -53,8 +53,10 @@ add_executable(nc ${NC_SRC})
|
||||
target_link_libraries(nc tls ${OPENSSL_LIBS})
|
||||
|
||||
if(ENABLE_NC)
|
||||
install(TARGETS nc DESTINATION bin)
|
||||
install(FILES nc.1 DESTINATION share/man/man1)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS nc DESTINATION bin)
|
||||
install(FILES nc.1 DESTINATION share/man/man1)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
@ -36,7 +36,9 @@ endif()
|
||||
add_executable(ocspcheck ${OCSPCHECK_SRC})
|
||||
target_link_libraries(ocspcheck tls ${OPENSSL_LIBS})
|
||||
|
||||
install(TARGETS ocspcheck DESTINATION bin)
|
||||
install(FILES ocspcheck.8 DESTINATION share/man/man8)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS ocspcheck DESTINATION bin)
|
||||
install(FILES ocspcheck.8 DESTINATION share/man/man8)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
||||
endif()
|
||||
|
@ -76,13 +76,17 @@ endif()
|
||||
add_executable(openssl ${OPENSSL_SRC})
|
||||
target_link_libraries(openssl ${OPENSSL_LIBS})
|
||||
|
||||
install(TARGETS openssl DESTINATION bin)
|
||||
install(FILES openssl.1 DESTINATION share/man/man1)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS openssl DESTINATION bin)
|
||||
install(FILES openssl.1 DESTINATION share/man/man1)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
||||
if(NOT "${OPENSSLDIR}" STREQUAL "")
|
||||
set(CONF_DIR "${OPENSSLDIR}")
|
||||
else()
|
||||
set(CONF_DIR "${CMAKE_INSTALL_PREFIX}/etc/ssl")
|
||||
endif()
|
||||
install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
|
||||
install(DIRECTORY DESTINATION ${CONF_DIR}/cert)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
|
||||
install(DIRECTORY DESTINATION ${CONF_DIR}/cert)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
@ -829,9 +829,13 @@ if (BUILD_SHARED)
|
||||
ARCHIVE_OUTPUT_NAME crypto${CRYPTO_POSTFIX})
|
||||
set_target_properties(crypto-shared PROPERTIES VERSION
|
||||
${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION})
|
||||
install(TARGETS crypto crypto-shared DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS crypto crypto-shared DESTINATION lib)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
else()
|
||||
add_library(crypto STATIC ${CRYPTO_SRC})
|
||||
install(TARGETS crypto DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS crypto DESTINATION lib)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
install(DIRECTORY .
|
||||
DESTINATION include
|
||||
PATTERN "CMakeLists.txt" EXCLUDE
|
||||
PATTERN "compat" EXCLUDE
|
||||
PATTERN "Makefile*" EXCLUDE)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(DIRECTORY .
|
||||
DESTINATION include
|
||||
PATTERN "CMakeLists.txt" EXCLUDE
|
||||
PATTERN "compat" EXCLUDE
|
||||
PATTERN "Makefile*" EXCLUDE)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
@ -1,9 +1,11 @@
|
||||
install(DIRECTORY .
|
||||
DESTINATION share/man/man3
|
||||
FILES_MATCHING PATTERN "*.3"
|
||||
)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(DIRECTORY .
|
||||
DESTINATION share/man/man3
|
||||
FILES_MATCHING PATTERN "*.3"
|
||||
)
|
||||
|
||||
install(DIRECTORY .
|
||||
DESTINATION share/man/man1
|
||||
FILES_MATCHING PATTERN "*.1"
|
||||
)
|
||||
install(DIRECTORY .
|
||||
DESTINATION share/man/man1
|
||||
FILES_MATCHING PATTERN "*.1"
|
||||
)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
|
@ -60,8 +60,12 @@ if (BUILD_SHARED)
|
||||
ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX})
|
||||
set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION}
|
||||
SOVERSION ${SSL_MAJOR_VERSION})
|
||||
install(TARGETS ssl ssl-shared DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS ssl ssl-shared DESTINATION lib)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
else()
|
||||
add_library(ssl STATIC ${SSL_SRC})
|
||||
install(TARGETS ssl DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS ssl DESTINATION lib)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
@ -39,9 +39,13 @@ if (BUILD_SHARED)
|
||||
ARCHIVE_OUTPUT_NAME tls${TLS_POSTFIX})
|
||||
set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION}
|
||||
SOVERSION ${TLS_MAJOR_VERSION})
|
||||
install(TARGETS tls tls-shared DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS tls tls-shared DESTINATION lib)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
else()
|
||||
add_library(tls STATIC ${TLS_SRC})
|
||||
install(TARGETS tls DESTINATION lib)
|
||||
if(ENABLE_LIBRESSL_INSTALL)
|
||||
install(TARGETS tls DESTINATION lib)
|
||||
endif(ENABLE_LIBRESSL_INSTALL)
|
||||
endif()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user