diff --git a/CMakeLists.txt b/CMakeLists.txt index dfb3d53..959edb7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,12 +27,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") diff --git a/README.md b/README.md index 9b3c540..33e68f4 100644 --- a/README.md +++ b/README.md @@ -131,3 +131,15 @@ install CMake, enter the LibreSSL source directory and run: This will generate a LibreSSL.sln file that you can incorporate into other projects or build by itself. + +#### Cmake - Additional Options #### + +| Option Name | Default | Description +| ------------ | -----: | ------ +| LIBRESSL_SKIP_INSTALL | OFF | allows skipping install() rules. Can be specified from command line using
```-DLIBRESSL_SKIP_INSTALL=ON``` | +| ENABLE_ASM | ON | builds assembly optimized rules. | +| ENABLE_EXTRATESTS | OFF | Enable extra tests that may be unreliable on some platforms | +| ENABLE_NC | OFF | Enable installing TLS-enabled nc(1) | +| ENABLE_VSTEST | OFF | Enable test on Visual Studio | +| OPENSSLDIR | Blank | Set the default openssl directory. Can be specified from command line using
```-DOPENSSLDIR=``` | + diff --git a/apps/nc/CMakeLists.txt b/apps/nc/CMakeLists.txt index be38146..64d14fa 100644 --- a/apps/nc/CMakeLists.txt +++ b/apps/nc/CMakeLists.txt @@ -53,8 +53,10 @@ add_executable(nc ${NC_SRC}) target_link_libraries(nc tls ${OPENSSL_LIBS}) if(ENABLE_NC) - install(TARGETS nc DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(FILES nc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) + if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS nc DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES nc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) + endif(ENABLE_LIBRESSL_INSTALL) endif() endif() diff --git a/apps/ocspcheck/CMakeLists.txt b/apps/ocspcheck/CMakeLists.txt index 478f232..af245f4 100644 --- a/apps/ocspcheck/CMakeLists.txt +++ b/apps/ocspcheck/CMakeLists.txt @@ -36,7 +36,10 @@ endif() add_executable(ocspcheck ${OCSPCHECK_SRC}) target_link_libraries(ocspcheck tls ${OPENSSL_LIBS}) -install(TARGETS ocspcheck DESTINATION ${CMAKE_INSTALL_BINDIR}) -install(FILES ocspcheck.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) +if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS ocspcheck DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES ocspcheck.8 DESTINATION ${CMAKE_INSTALL_MANDIR}/man8) + +endif(ENABLE_LIBRESSL_INSTALL) endif() diff --git a/apps/openssl/CMakeLists.txt b/apps/openssl/CMakeLists.txt index 2e47840..71fbd63 100644 --- a/apps/openssl/CMakeLists.txt +++ b/apps/openssl/CMakeLists.txt @@ -76,13 +76,17 @@ endif() add_executable(openssl ${OPENSSL_SRC}) target_link_libraries(openssl ${OPENSSL_LIBS}) -install(TARGETS openssl DESTINATION ${CMAKE_INSTALL_BINDIR}) -install(FILES openssl.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) +if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS openssl DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES openssl.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/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) diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index eca9d1c..aa289aa 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -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 ${CMAKE_INSTALL_LIBDIR}) + if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS crypto crypto-shared DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_LIBRESSL_INSTALL) else() add_library(crypto STATIC ${CRYPTO_SRC}) - install(TARGETS crypto DESTINATION ${CMAKE_INSTALL_LIBDIR}) + if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS crypto DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_LIBRESSL_INSTALL) endif() diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index ccb6589..b730954 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -1,5 +1,7 @@ -install(DIRECTORY . - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - PATTERN "CMakeLists.txt" EXCLUDE - PATTERN "compat" EXCLUDE - PATTERN "Makefile*" EXCLUDE) +if(ENABLE_LIBRESSL_INSTALL) + install(DIRECTORY . + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + PATTERN "CMakeLists.txt" EXCLUDE + PATTERN "compat" EXCLUDE + PATTERN "Makefile*" EXCLUDE) +endif(ENABLE_LIBRESSL_INSTALL) diff --git a/man/CMakeLists.txt b/man/CMakeLists.txt index 454b1ee..639b9ed 100644 --- a/man/CMakeLists.txt +++ b/man/CMakeLists.txt @@ -1,9 +1,11 @@ -install(DIRECTORY . - DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 - FILES_MATCHING PATTERN "*.3" - ) +if(ENABLE_LIBRESSL_INSTALL) + install(DIRECTORY . + DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 + FILES_MATCHING PATTERN "*.3" + ) -install(DIRECTORY . - DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 - FILES_MATCHING PATTERN "*.1" - ) + install(DIRECTORY . + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + FILES_MATCHING PATTERN "*.1" + ) +endif(ENABLE_LIBRESSL_INSTALL) diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index 5403942..bad7276 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt @@ -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 ${CMAKE_INSTALL_LIBDIR}) + if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS ssl ssl-shared DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_LIBRESSL_INSTALL) else() add_library(ssl STATIC ${SSL_SRC}) - install(TARGETS ssl DESTINATION ${CMAKE_INSTALL_LIBDIR}) + if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS ssl DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_LIBRESSL_INSTALL) endif() diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index c3e6336..c8de04c 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt @@ -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 ${CMAKE_INSTALL_LIBDIR}) + if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS tls tls-shared DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_LIBRESSL_INSTALL) else() add_library(tls STATIC ${TLS_SRC}) - install(TARGETS tls DESTINATION ${CMAKE_INSTALL_LIBDIR}) + if(ENABLE_LIBRESSL_INSTALL) + install(TARGETS tls DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_LIBRESSL_INSTALL) endif()