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()