aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt15
-rw-r--r--apps/nc/CMakeLists.txt6
-rw-r--r--apps/openssl/CMakeLists.txt8
-rw-r--r--crypto/CMakeLists.txt6
-rw-r--r--tests/CMakeLists.txt21
-rw-r--r--tls/CMakeLists.txt6
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)
23string(REPLACE ":" "." TLS_VERSION ${TLS_VERSION}) 23string(REPLACE ":" "." TLS_VERSION ${TLS_VERSION})
24string(REGEX REPLACE "\\..*" "" TLS_MAJOR_VERSION ${TLS_VERSION}) 24string(REGEX REPLACE "\\..*" "" TLS_MAJOR_VERSION ${TLS_VERSION})
25 25
26option(ENABLE_ASM "Enable assembly" ON)
27option(ENABLE_EXTRATESTS "Enable extra tests that may be unreliable on some platforms" OFF)
28option(ENABLE_NC "Enable installing TLS-enabled nc(1)" OFF)
29set(OPENSSLDIR ${OPENSSLDIR} CACHE PATH "Set the default openssl directory" FORCE)
30
31set(BUILD_NC true)
32
33if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
34 add_definitions(-fno-common)
35endif()
36
26if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") 37if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
27 add_definitions(-DHAVE_ATTRIBUTE__BOUNDED__) 38 add_definitions(-DHAVE_ATTRIBUTE__BOUNDED__)
28endif() 39endif()
@@ -34,6 +45,10 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
34 add_definitions(-D_GNU_SOURCE) 45 add_definitions(-D_GNU_SOURCE)
35endif() 46endif()
36 47
48if(CMAKE_SYSTEM_NAME MATCHES "MINGW")
49 set(BUILD_NC false)
50endif()
51
37if(CMAKE_SYSTEM_NAME MATCHES "HP-UX") 52if(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)
44endif() 44endif()
45 45
46if(NOT "${OPENSSLDIR}" STREQUAL "")
47 add_definitions(-DDEFAULT_CA_FILE=\"${OPENSSLDIR}/cert.pem\")
48else()
49 add_definitions(-DDEFAULT_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\")
50endif()
51
46add_executable(nc ${NC_SRC}) 52add_executable(nc ${NC_SRC})
47target_link_libraries(nc tls ${OPENSSL_LIBS}) 53target_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
80install(TARGETS openssl DESTINATION bin) 80install(TARGETS openssl DESTINATION bin)
81install(FILES openssl.1 DESTINATION share/man/man1) 81install(FILES openssl.1 DESTINATION share/man/man1)
82
83if(NOT "${OPENSSLDIR}" STREQUAL "")
84 set(CONF_DIR "${OPENSSLDIR}")
85else()
86 set(CONF_DIR "${CMAKE_INSTALL_PREFIX}/etc/ssl")
87endif()
88install(FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR})
89install(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()
743endif() 743endif()
744 744
745if(NOT "${OPENSSLDIR}" STREQUAL "")
746 add_definitions(-DOPENSSLDIR=\"${OPENSSLDIR}\")
747else()
748 add_definitions(-DOPENSSLDIR=\"${CMAKE_INSTALL_PREFIX}/etc/ssl\")
749endif()
750
745if (BUILD_SHARED) 751if (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
12set(ENV{srcdir} ${CMAKE_CURRENT_SOURCE_DIR})
13
14# aeadtest 12# aeadtest
15add_executable(aeadtest aeadtest.c) 13add_executable(aeadtest aeadtest.c)
16target_link_libraries(aeadtest ${OPENSSL_LIBS}) 14target_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.
27if(NOT CMAKE_HOST_WIN32) 25if(NOT CMAKE_HOST_WIN32 AND NOT CMAKE_SYSTEM_NAME MATCHES "MINGW")
28add_executable(arc4randomforktest arc4randomforktest.c) 26add_executable(arc4randomforktest arc4randomforktest.c)
29target_link_libraries(arc4randomforktest ${OPENSSL_LIBS}) 27target_link_libraries(arc4randomforktest ${OPENSSL_LIBS})
30add_test(arc4randomforktest ${CMAKE_CURRENT_SOURCE_DIR}/arc4randomforktest.sh) 28add_test(arc4randomforktest ${CMAKE_CURRENT_SOURCE_DIR}/arc4randomforktest.sh)
@@ -50,6 +48,14 @@ add_executable(bftest bftest.c)
50target_link_libraries(bftest ${OPENSSL_LIBS}) 48target_link_libraries(bftest ${OPENSSL_LIBS})
51add_test(bftest bftest) 49add_test(bftest bftest)
52 50
51# biotest
52# the BIO tests rely on resolver results that are OS and environment-specific
53if(ENABLE_EXTRATESTS)
54 add_executable(biotest biotest.c)
55 target_link_libraries(biotest ${OPENSSL_LIBS})
56 add_test(biotest biotest)
57endif()
58
53# bntest 59# bntest
54add_executable(bntest bntest.c) 60add_executable(bntest bntest.c)
55target_link_libraries(bntest ${OPENSSL_LIBS}) 61target_link_libraries(bntest ${OPENSSL_LIBS})
@@ -198,6 +204,15 @@ add_executable(pbkdf2 pbkdf2.c)
198target_link_libraries(pbkdf2 ${OPENSSL_LIBS}) 204target_link_libraries(pbkdf2 ${OPENSSL_LIBS})
199add_test(pbkdf2 pbkdf2) 205add_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
210if(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)
214endif()
215
201# pkcs7test 216# pkcs7test
202add_executable(pkcs7test pkcs7test.c) 217add_executable(pkcs7test pkcs7test.c)
203target_link_libraries(pkcs7test ${OPENSSL_LIBS}) 218target_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)
22endif() 22endif()
23 23
24if(NOT "${OPENSSLDIR}" STREQUAL "")
25 add_definitions(-D_PATH_SSL_CA_FILE=\"${OPENSSLDIR}/cert.pem\")
26else()
27 add_definitions(-D_PATH_SSL_CA_FILE=\"${CMAKE_INSTALL_PREFIX}/etc/ssl/cert.pem\")
28endif()
29
24if (BUILD_SHARED) 30if (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>)