diff options
| author | Brent Cook <bcook@openbsd.org> | 2016-09-04 05:00:31 -0500 |
|---|---|---|
| committer | Brent Cook <bcook@openbsd.org> | 2016-09-04 05:00:31 -0500 |
| commit | 5bb829d86d72dfde74478c07f0643ed8e29ec75f (patch) | |
| tree | 93877531dba818b5b47c739cab48102d40639010 | |
| parent | 22dcefee4e1b0660d7312bd438c8291c9588c3ff (diff) | |
| parent | 829b21581fc93085faeced35b3c75376b0de6ae2 (diff) | |
| download | portable-5bb829d86d72dfde74478c07f0643ed8e29ec75f.tar.gz portable-5bb829d86d72dfde74478c07f0643ed8e29ec75f.tar.bz2 portable-5bb829d86d72dfde74478c07f0643ed8e29ec75f.zip | |
Land #219, build Windows DLLs with CMake
| -rw-r--r-- | CMakeLists.txt | 13 | ||||
| -rw-r--r-- | crypto/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | ssl/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | tls/CMakeLists.txt | 6 |
4 files changed, 20 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f0e074a..e546ea4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -49,7 +49,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "MINGW") | |||
| 49 | set(BUILD_NC false) | 49 | set(BUILD_NC false) |
| 50 | endif() | 50 | endif() |
| 51 | 51 | ||
| 52 | if(MSVC) | 52 | if(WIN32) |
| 53 | set(BUILD_NC false) | 53 | set(BUILD_NC false) |
| 54 | endif() | 54 | endif() |
| 55 | 55 | ||
| @@ -80,14 +80,17 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") | |||
| 80 | add_definitions(-Wno-pointer-sign) | 80 | add_definitions(-Wno-pointer-sign) |
| 81 | endif() | 81 | endif() |
| 82 | 82 | ||
| 83 | if(MSVC) | 83 | if(WIN32) |
| 84 | add_definitions(-Dinline=__inline) | ||
| 85 | add_definitions(-Drestrict) | 84 | add_definitions(-Drestrict) |
| 86 | add_definitions(-D_CRT_SECURE_NO_WARNINGS) | 85 | add_definitions(-D_CRT_SECURE_NO_WARNINGS) |
| 87 | add_definitions(-D_CRT_DEPRECATED_NO_WARNINGS) | 86 | add_definitions(-D_CRT_DEPRECATED_NO_WARNINGS) |
| 88 | add_definitions(-D_REENTRANT -D_POSIX_THREAD_SAFE_FUNCTIONS) | 87 | add_definitions(-D_REENTRANT -D_POSIX_THREAD_SAFE_FUNCTIONS) |
| 89 | add_definitions(-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0501) | 88 | add_definitions(-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0501) |
| 90 | add_definitions(-DCPPFLAGS -DOPENSSL_NO_SPEED -DNO_SYSLOG -DNO_CRYPT) | 89 | add_definitions(-DCPPFLAGS -DOPENSSL_NO_SPEED -DNO_SYSLOG -DNO_CRYPT) |
| 90 | endif() | ||
| 91 | |||
| 92 | if(MSVC) | ||
| 93 | add_definitions(-Dinline=__inline) | ||
| 91 | 94 | ||
| 92 | set(MSVC_DISABLED_WARNINGS_LIST | 95 | set(MSVC_DISABLED_WARNINGS_LIST |
| 93 | "C4057" # C4057: 'initializing' : 'unsigned char *' differs in | 96 | "C4057" # C4057: 'initializing' : 'unsigned char *' differs in |
| @@ -143,7 +146,7 @@ if(HAVE_STRNDUP) | |||
| 143 | add_definitions(-DHAVE_STRNDUP) | 146 | add_definitions(-DHAVE_STRNDUP) |
| 144 | endif() | 147 | endif() |
| 145 | 148 | ||
| 146 | if(MSVC) | 149 | if(WIN32) |
| 147 | set(HAVE_STRNLEN true) | 150 | set(HAVE_STRNLEN true) |
| 148 | add_definitions(-DHAVE_STRNLEN) | 151 | add_definitions(-DHAVE_STRNLEN) |
| 149 | else() | 152 | else() |
| @@ -237,7 +240,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "SunOS") | |||
| 237 | set(OPENSSL_LIBS ${OPENSSL_LIBS} nsl socket) | 240 | set(OPENSSL_LIBS ${OPENSSL_LIBS} nsl socket) |
| 238 | endif() | 241 | endif() |
| 239 | 242 | ||
| 240 | if(NOT (CMAKE_SYSTEM_NAME MATCHES "(Darwin|MINGW|CYGWIN)" OR MSVC)) | 243 | if(NOT (CMAKE_SYSTEM_NAME MATCHES "(Darwin|CYGWIN)")) |
| 241 | set(BUILD_SHARED true) | 244 | set(BUILD_SHARED true) |
| 242 | endif() | 245 | endif() |
| 243 | 246 | ||
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 681c929..d8453f3 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
| @@ -752,10 +752,12 @@ if (BUILD_SHARED) | |||
| 752 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) | 752 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) |
| 753 | add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>) | 753 | add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>) |
| 754 | add_library(crypto-shared SHARED $<TARGET_OBJECTS:crypto-objects>) | 754 | add_library(crypto-shared SHARED $<TARGET_OBJECTS:crypto-objects>) |
| 755 | if (MSVC) | 755 | if (WIN32) |
| 756 | target_link_libraries(crypto-shared crypto Ws2_32.lib) | 756 | target_link_libraries(crypto-shared crypto Ws2_32.lib) |
| 757 | set(CRYPTO_POSTFIX -${CRYPTO_MAJOR_VERSION}) | ||
| 757 | endif() | 758 | endif() |
| 758 | set_target_properties(crypto-shared PROPERTIES OUTPUT_NAME crypto) | 759 | set_target_properties(crypto-shared PROPERTIES |
| 760 | OUTPUT_NAME crypto${CRYPTO_POSTFIX} ARCHIVE_OUTPUT_NAME crypto) | ||
| 759 | set_target_properties(crypto-shared PROPERTIES VERSION | 761 | set_target_properties(crypto-shared PROPERTIES VERSION |
| 760 | ${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION}) | 762 | ${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION}) |
| 761 | install(TARGETS crypto crypto-shared DESTINATION lib) | 763 | install(TARGETS crypto crypto-shared DESTINATION lib) |
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index e836047..0aac799 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt | |||
| @@ -52,10 +52,12 @@ if (BUILD_SHARED) | |||
| 52 | add_library(ssl-objects OBJECT ${SSL_SRC}) | 52 | add_library(ssl-objects OBJECT ${SSL_SRC}) |
| 53 | add_library(ssl STATIC $<TARGET_OBJECTS:ssl-objects>) | 53 | add_library(ssl STATIC $<TARGET_OBJECTS:ssl-objects>) |
| 54 | add_library(ssl-shared SHARED $<TARGET_OBJECTS:ssl-objects>) | 54 | add_library(ssl-shared SHARED $<TARGET_OBJECTS:ssl-objects>) |
| 55 | if (MSVC) | 55 | if (WIN32) |
| 56 | target_link_libraries(ssl-shared crypto-shared Ws2_32.lib) | 56 | target_link_libraries(ssl-shared crypto-shared Ws2_32.lib) |
| 57 | set(SSL_POSTFIX -${SSL_MAJOR_VERSION}) | ||
| 57 | endif() | 58 | endif() |
| 58 | set_target_properties(ssl-shared PROPERTIES OUTPUT_NAME ssl) | 59 | set_target_properties(ssl-shared PROPERTIES |
| 60 | OUTPUT_NAME ssl${SSL_POSTFIX} ARCHIVE_OUTPUT_NAME ssl) | ||
| 59 | set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION} | 61 | set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION} |
| 60 | SOVERSION ${SSL_MAJOR_VERSION}) | 62 | SOVERSION ${SSL_MAJOR_VERSION}) |
| 61 | install(TARGETS ssl ssl-shared DESTINATION lib) | 63 | install(TARGETS ssl ssl-shared DESTINATION lib) |
diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index b8549a6..54ae953 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt | |||
| @@ -31,10 +31,12 @@ if (BUILD_SHARED) | |||
| 31 | add_library(tls-objects OBJECT ${TLS_SRC}) | 31 | add_library(tls-objects OBJECT ${TLS_SRC}) |
| 32 | add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>) | 32 | add_library(tls STATIC $<TARGET_OBJECTS:tls-objects>) |
| 33 | add_library(tls-shared SHARED $<TARGET_OBJECTS:tls-objects>) | 33 | add_library(tls-shared SHARED $<TARGET_OBJECTS:tls-objects>) |
| 34 | if (MSVC) | 34 | if (WIN32) |
| 35 | target_link_libraries(tls-shared ssl-shared crypto-shared Ws2_32.lib) | 35 | target_link_libraries(tls-shared ssl-shared crypto-shared Ws2_32.lib) |
| 36 | set(TLS_POSTFIX -${TLS_MAJOR_VERSION}) | ||
| 36 | endif() | 37 | endif() |
| 37 | set_target_properties(tls-shared PROPERTIES OUTPUT_NAME tls) | 38 | set_target_properties(tls-shared PROPERTIES |
| 39 | OUTPUT_NAME tls${TLS_POSTFIX} ARCHIVE_OUTPUT_NAME tls) | ||
| 38 | set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION} | 40 | set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION} |
| 39 | SOVERSION ${TLS_MAJOR_VERSION}) | 41 | SOVERSION ${TLS_MAJOR_VERSION}) |
| 40 | install(TARGETS tls tls-shared DESTINATION lib) | 42 | install(TARGETS tls tls-shared DESTINATION lib) |
