From 971892766db26560f7cc34b78750cac149867425 Mon Sep 17 00:00:00 2001 From: Satoshi Yasushima Date: Thu, 25 Aug 2016 18:17:12 +0900 Subject: build MinGW on CMake --- CMakeLists.txt | 11 +++++++---- crypto/CMakeLists.txt | 2 +- ssl/CMakeLists.txt | 2 +- tls/CMakeLists.txt | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f0e074a..f4300dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "MINGW") set(BUILD_NC false) endif() -if(MSVC) +if(WIN32) set(BUILD_NC false) endif() @@ -80,14 +80,17 @@ if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") add_definitions(-Wno-pointer-sign) endif() -if(MSVC) - add_definitions(-Dinline=__inline) +if(WIN32) add_definitions(-Drestrict) add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_CRT_DEPRECATED_NO_WARNINGS) add_definitions(-D_REENTRANT -D_POSIX_THREAD_SAFE_FUNCTIONS) add_definitions(-DWIN32_LEAN_AND_MEAN -D_WIN32_WINNT=0x0501) add_definitions(-DCPPFLAGS -DOPENSSL_NO_SPEED -DNO_SYSLOG -DNO_CRYPT) +endif() + +if(MSVC) + add_definitions(-Dinline=__inline) set(MSVC_DISABLED_WARNINGS_LIST "C4057" # C4057: 'initializing' : 'unsigned char *' differs in @@ -143,7 +146,7 @@ if(HAVE_STRNDUP) add_definitions(-DHAVE_STRNDUP) endif() -if(MSVC) +if(WIN32) set(HAVE_STRNLEN true) add_definitions(-DHAVE_STRNLEN) else() diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index 681c929..e41ac58 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -752,7 +752,7 @@ if (BUILD_SHARED) add_library(crypto-objects OBJECT ${CRYPTO_SRC}) add_library(crypto STATIC $) add_library(crypto-shared SHARED $) - if (MSVC) + if (WIN32) target_link_libraries(crypto-shared crypto Ws2_32.lib) endif() set_target_properties(crypto-shared PROPERTIES OUTPUT_NAME crypto) diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index e836047..7f53e14 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt @@ -52,7 +52,7 @@ if (BUILD_SHARED) add_library(ssl-objects OBJECT ${SSL_SRC}) add_library(ssl STATIC $) add_library(ssl-shared SHARED $) - if (MSVC) + if (WIN32) target_link_libraries(ssl-shared crypto-shared Ws2_32.lib) endif() set_target_properties(ssl-shared PROPERTIES OUTPUT_NAME ssl) diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index b8549a6..df5c790 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt @@ -31,7 +31,7 @@ if (BUILD_SHARED) add_library(tls-objects OBJECT ${TLS_SRC}) add_library(tls STATIC $) add_library(tls-shared SHARED $) - if (MSVC) + if (WIN32) target_link_libraries(tls-shared ssl-shared crypto-shared Ws2_32.lib) endif() set_target_properties(tls-shared PROPERTIES OUTPUT_NAME tls) -- cgit v1.2.3-55-g6feb From 829b21581fc93085faeced35b3c75376b0de6ae2 Mon Sep 17 00:00:00 2001 From: Satoshi Yasushima Date: Thu, 25 Aug 2016 18:17:27 +0900 Subject: build Windows DLL on CMake like below. * libcrypto-38.dll * libssl-39.dll * libtls-11.dll --- CMakeLists.txt | 2 +- crypto/CMakeLists.txt | 4 +++- ssl/CMakeLists.txt | 4 +++- tls/CMakeLists.txt | 4 +++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f4300dd..e546ea4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,7 +240,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "SunOS") set(OPENSSL_LIBS ${OPENSSL_LIBS} nsl socket) endif() -if(NOT (CMAKE_SYSTEM_NAME MATCHES "(Darwin|MINGW|CYGWIN)" OR MSVC)) +if(NOT (CMAKE_SYSTEM_NAME MATCHES "(Darwin|CYGWIN)")) set(BUILD_SHARED true) endif() diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index e41ac58..d8453f3 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt @@ -754,8 +754,10 @@ if (BUILD_SHARED) add_library(crypto-shared SHARED $) if (WIN32) target_link_libraries(crypto-shared crypto Ws2_32.lib) + set(CRYPTO_POSTFIX -${CRYPTO_MAJOR_VERSION}) endif() - set_target_properties(crypto-shared PROPERTIES OUTPUT_NAME crypto) + set_target_properties(crypto-shared PROPERTIES + OUTPUT_NAME crypto${CRYPTO_POSTFIX} ARCHIVE_OUTPUT_NAME crypto) set_target_properties(crypto-shared PROPERTIES VERSION ${CRYPTO_VERSION} SOVERSION ${CRYPTO_MAJOR_VERSION}) install(TARGETS crypto crypto-shared DESTINATION lib) diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt index 7f53e14..0aac799 100644 --- a/ssl/CMakeLists.txt +++ b/ssl/CMakeLists.txt @@ -54,8 +54,10 @@ if (BUILD_SHARED) add_library(ssl-shared SHARED $) if (WIN32) target_link_libraries(ssl-shared crypto-shared Ws2_32.lib) + set(SSL_POSTFIX -${SSL_MAJOR_VERSION}) endif() - set_target_properties(ssl-shared PROPERTIES OUTPUT_NAME ssl) + set_target_properties(ssl-shared PROPERTIES + OUTPUT_NAME ssl${SSL_POSTFIX} ARCHIVE_OUTPUT_NAME ssl) set_target_properties(ssl-shared PROPERTIES VERSION ${SSL_VERSION} SOVERSION ${SSL_MAJOR_VERSION}) install(TARGETS ssl ssl-shared DESTINATION lib) diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index df5c790..54ae953 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt @@ -33,8 +33,10 @@ if (BUILD_SHARED) add_library(tls-shared SHARED $) if (WIN32) target_link_libraries(tls-shared ssl-shared crypto-shared Ws2_32.lib) + set(TLS_POSTFIX -${TLS_MAJOR_VERSION}) endif() - set_target_properties(tls-shared PROPERTIES OUTPUT_NAME tls) + set_target_properties(tls-shared PROPERTIES + OUTPUT_NAME tls${TLS_POSTFIX} ARCHIVE_OUTPUT_NAME tls) set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION} SOVERSION ${TLS_MAJOR_VERSION}) install(TARGETS tls tls-shared DESTINATION lib) -- cgit v1.2.3-55-g6feb