diff options
-rw-r--r-- | CMakeLists.txt | 15 | ||||
-rw-r--r-- | apps/nc/CMakeLists.txt | 6 | ||||
-rw-r--r-- | apps/openssl/CMakeLists.txt | 8 | ||||
-rw-r--r-- | crypto/CMakeLists.txt | 6 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 21 | ||||
-rw-r--r-- | tls/CMakeLists.txt | 6 |
6 files changed, 59 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e12909..595e829 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -23,6 +23,17 @@ string(STRIP ${TLS_VERSION} TLS_VERSION) | |||
23 | string(REPLACE ":" "." TLS_VERSION ${TLS_VERSION}) | 23 | string(REPLACE ":" "." TLS_VERSION ${TLS_VERSION}) |
24 | string(REGEX REPLACE "\\..*" "" TLS_MAJOR_VERSION ${TLS_VERSION}) | 24 | string(REGEX REPLACE "\\..*" "" TLS_MAJOR_VERSION ${TLS_VERSION}) |
25 | 25 | ||
26 | option(ENABLE_ASM "Enable assembly" ON) | ||
27 | option(ENABLE_EXTRATESTS "Enable extra tests that may be unreliable on some platforms" OFF) | ||
28 | option(ENABLE_NC "Enable installing TLS-enabled nc(1)" OFF) | ||
29 | set(OPENSSLDIR ${OPENSSLDIR} CACHE PATH "Set the default openssl directory" FORCE) | ||
30 | |||
31 | set(BUILD_NC true) | ||
32 | |||
33 | if(CMAKE_SYSTEM_NAME MATCHES "Darwin") | ||
34 | add_definitions(-fno-common) | ||
35 | endif() | ||
36 | |||
26 | if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") | 37 | if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") |
27 | add_definitions(-DHAVE_ATTRIBUTE__BOUNDED__) | 38 | add_definitions(-DHAVE_ATTRIBUTE__BOUNDED__) |
28 | endif() | 39 | endif() |
@@ -34,6 +45,10 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux") | |||
34 | add_definitions(-D_GNU_SOURCE) | 45 | add_definitions(-D_GNU_SOURCE) |
35 | endif() | 46 | endif() |
36 | 47 | ||
48 | if(CMAKE_SYSTEM_NAME MATCHES "MINGW") | ||
49 | set(BUILD_NC false) | ||
50 | endif() | ||
51 | |||
37 | if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") | 52 | if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") |
38 | if(CMAKE_C_COMPILER MATCHES "gcc") | 53 | if(CMAKE_C_COMPILER MATCHES "gcc") |
39 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=gnu99 -fno-strict-aliasing") | 54 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=gnu99 -fno-strict-aliasing") |
diff --git a/apps/nc/CMakeLists.txt b/apps/nc/CMakeLists.txt index a218899..c8757a6 100644 --- a/apps/nc/CMakeLists.txt +++ b/apps/nc/CMakeLists.txt | |||
@@ -43,6 +43,12 @@ else() | |||
43 | set(NC_SRC ${NC_SRC} compat/strtonum.c) | 43 | set(NC_SRC ${NC_SRC} compat/strtonum.c) |
44 | endif() | 44 | endif() |
45 | 45 | ||
46 | if(NOT "${OPENSSLDIR}" STREQUAL "") | ||
47 | add_definitions(-DDEFAULT_CA_FILE=\"${OPENSSLDIR}/cert.pem\") | ||
48 | else() | ||
49 | add_definitions(-DDEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\") | ||
50 | endif() | ||
51 | |||
46 | add_executable(nc ${NC_SRC}) | 52 | add_executable(nc ${NC_SRC}) |
47 | target_link_libraries(nc tls ${OPENSSL_LIBS}) | 53 | target_link_libraries(nc tls ${OPENSSL_LIBS}) |
48 | 54 | ||
diff --git a/apps/openssl/CMakeLists.txt b/apps/openssl/CMakeLists.txt index d4f786b..0d4642e 100644 --- a/apps/openssl/CMakeLists.txt +++ b/apps/openssl/CMakeLists.txt | |||
@@ -79,3 +79,11 @@ target_link_libraries(openssl ${OPENSSL_LIBS}) | |||
79 | 79 | ||
80 | install(TARGETS openssl DESTINATION bin) | 80 | install(TARGETS openssl DESTINATION bin) |
81 | install(FILES openssl.1 DESTINATION share/man/man1) | 81 | install(FILES openssl.1 DESTINATION share/man/man1) |
82 | |||
83 | if(NOT "${OPENSSLDIR}" STREQUAL "") | ||
84 | set(CONF_DIR "${OPENSSLDIR}") | ||
85 | else() | ||
86 | set(CONF_DIR "${CMAKE_INSTALL_PREFIX}/etc/ssl") | ||
87 | endif() | ||
88 | install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR}) | ||
89 | install(DIRECTORY DESTINATION ${CONF_DIR}/cert) | ||
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 4086168..2eca0b9 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
@@ -742,6 +742,12 @@ else() | |||
742 | endif() | 742 | endif() |
743 | endif() | 743 | endif() |
744 | 744 | ||
745 | if(NOT "${OPENSSLDIR}" STREQUAL "") | ||
746 | add_definitions(-DOPENSSLDIR=\"${OPENSSLDIR}\") | ||
747 | else() | ||
748 | add_definitions(-DOPENSSLDIR=\"${CMAKE_INSTALL_PREFIX}/etc/ssl\") | ||
749 | endif() | ||
750 | |||
745 | if (BUILD_SHARED) | 751 | if (BUILD_SHARED) |
746 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) | 752 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) |
747 | add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>) | 753 | add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>) |
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 2e368c5..2935a82 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt | |||
@@ -9,8 +9,6 @@ include_directories( | |||
9 | ../apps/openssl/compat | 9 | ../apps/openssl/compat |
10 | ) | 10 | ) |
11 | 11 | ||
12 | set(ENV{srcdir} ${CMAKE_CURRENT_SOURCE_DIR}) | ||
13 | |||
14 | # aeadtest | 12 | # aeadtest |
15 | add_executable(aeadtest aeadtest.c) | 13 | add_executable(aeadtest aeadtest.c) |
16 | target_link_libraries(aeadtest ${OPENSSL_LIBS}) | 14 | target_link_libraries(aeadtest ${OPENSSL_LIBS}) |
@@ -24,7 +22,7 @@ add_test(aes_wrap aes_wrap) | |||
24 | 22 | ||
25 | # arc4randomforktest | 23 | # arc4randomforktest |
26 | # Windows/mingw does not have fork, but Cygwin does. | 24 | # Windows/mingw does not have fork, but Cygwin does. |
27 | if(NOT CMAKE_HOST_WIN32) | 25 | if(NOT CMAKE_HOST_WIN32 AND NOT CMAKE_SYSTEM_NAME MATCHES "MINGW") |
28 | add_executable(arc4randomforktest arc4randomforktest.c) | 26 | add_executable(arc4randomforktest arc4randomforktest.c) |
29 | target_link_libraries(arc4randomforktest ${OPENSSL_LIBS}) | 27 | target_link_libraries(arc4randomforktest ${OPENSSL_LIBS}) |
30 | add_test(arc4randomforktest ${CMAKE_CURRENT_SOURCE_DIR}/arc4randomforktest.sh) | 28 | add_test(arc4randomforktest ${CMAKE_CURRENT_SOURCE_DIR}/arc4randomforktest.sh) |
@@ -50,6 +48,14 @@ add_executable(bftest bftest.c) | |||
50 | target_link_libraries(bftest ${OPENSSL_LIBS}) | 48 | target_link_libraries(bftest ${OPENSSL_LIBS}) |
51 | add_test(bftest bftest) | 49 | add_test(bftest bftest) |
52 | 50 | ||
51 | # biotest | ||
52 | # the BIO tests rely on resolver results that are OS and environment-specific | ||
53 | if(ENABLE_EXTRATESTS) | ||
54 | add_executable(biotest biotest.c) | ||
55 | target_link_libraries(biotest ${OPENSSL_LIBS}) | ||
56 | add_test(biotest biotest) | ||
57 | endif() | ||
58 | |||
53 | # bntest | 59 | # bntest |
54 | add_executable(bntest bntest.c) | 60 | add_executable(bntest bntest.c) |
55 | target_link_libraries(bntest ${OPENSSL_LIBS}) | 61 | target_link_libraries(bntest ${OPENSSL_LIBS}) |
@@ -198,6 +204,15 @@ add_executable(pbkdf2 pbkdf2.c) | |||
198 | target_link_libraries(pbkdf2 ${OPENSSL_LIBS}) | 204 | target_link_libraries(pbkdf2 ${OPENSSL_LIBS}) |
199 | add_test(pbkdf2 pbkdf2) | 205 | add_test(pbkdf2 pbkdf2) |
200 | 206 | ||
207 | # pidwraptest | ||
208 | # pidwraptest relies on an OS-specific way to give out pids and is generally | ||
209 | # awkward on systems with slow fork | ||
210 | if(ENABLE_EXTRATESTS) | ||
211 | add_executable(pidwraptest pidwraptest.c) | ||
212 | target_link_libraries(pidwraptest ${OPENSSL_LIBS}) | ||
213 | add_test(pidwraptest ${CMAKE_CURRENT_SOURCE_DIR}/pidwraptest.sh) | ||
214 | endif() | ||
215 | |||
201 | # pkcs7test | 216 | # pkcs7test |
202 | add_executable(pkcs7test pkcs7test.c) | 217 | add_executable(pkcs7test pkcs7test.c) |
203 | target_link_libraries(pkcs7test ${OPENSSL_LIBS}) | 218 | target_link_libraries(pkcs7test ${OPENSSL_LIBS}) |
diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index 929d30c..53c8be7 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt | |||
@@ -21,6 +21,12 @@ if(NOT HAVE_STRSEP) | |||
21 | set(TLS_SRC ${TLS_SRC} strsep.c) | 21 | set(TLS_SRC ${TLS_SRC} strsep.c) |
22 | endif() | 22 | endif() |
23 | 23 | ||
24 | if(NOT "${OPENSSLDIR}" STREQUAL "") | ||
25 | add_definitions(-D_PATH_SSL_CA_FILE=\"${OPENSSLDIR}/cert.pem\") | ||
26 | else() | ||
27 | add_definitions(-D_PATH_SSL_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\") | ||
28 | endif() | ||
29 | |||
24 | if (BUILD_SHARED) | 30 | if (BUILD_SHARED) |
25 | add_library(tls-objects OBJECT ${TLS_SRC}) | 31 | add_library(tls-objects OBJECT ${TLS_SRC}) |
26 | add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>) | 32 | add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>) |