2014-07-11 05:06:10 +02:00
|
|
|
cmake_minimum_required (VERSION 3.2)
|
|
|
|
include(CheckFunctionExists)
|
2015-07-22 05:21:14 +02:00
|
|
|
include(CheckIncludeFiles)
|
2014-07-11 05:06:10 +02:00
|
|
|
|
|
|
|
project (LibreSSL)
|
|
|
|
|
2015-07-22 05:21:14 +02:00
|
|
|
enable_testing()
|
|
|
|
|
2014-07-11 05:06:10 +02:00
|
|
|
if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
|
|
|
|
add_definitions(-DHAVE_ATTRIBUTE__BOUNDED__)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
add_definitions(-DLIBRESSL_INTERNAL)
|
|
|
|
add_definitions(-DOPENSSL_NO_HW_PADLOCK)
|
|
|
|
add_definitions(-DOPENSSL_NO_ASM)
|
|
|
|
|
|
|
|
if (CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang")
|
|
|
|
add_definitions(-Wno-pointer-sign)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(MSVC)
|
|
|
|
add_definitions(-Dinline=__inline)
|
|
|
|
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)
|
|
|
|
|
|
|
|
set(MSVC_DISABLED_WARNINGS_LIST
|
|
|
|
"C4057" # C4057: 'initializing' : 'unsigned char *' differs in
|
|
|
|
# indirection to slightly different base types from 'char [2]'
|
|
|
|
"C4100" # 'exarg' : unreferenced formal parameter
|
|
|
|
"C4127" # conditional expression is constant
|
|
|
|
"C4242" # 'function' : conversion from 'int' to 'uint8_t',
|
|
|
|
# possible loss of data
|
|
|
|
"C4244" # 'function' : conversion from 'int' to 'uint8_t',
|
|
|
|
# possible loss of data
|
|
|
|
"C4706" # assignment within conditional expression
|
|
|
|
"C4820" # 'bytes' bytes padding added after construct 'member_name'
|
|
|
|
"C4996" # 'read': The POSIX name for this item is deprecated. Instead,
|
|
|
|
# use the ISO C++ conformant name: _read.
|
|
|
|
)
|
|
|
|
string(REPLACE "C" " -wd" MSVC_DISABLED_WARNINGS_STR
|
|
|
|
${MSVC_DISABLED_WARNINGS_LIST})
|
|
|
|
set(CMAKE_C_FLAGS "-MP -W4 ${MSVC_DISABLED_WARNINGS_STR}")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(asprintf HAVE_ASPRINTF)
|
|
|
|
if(HAVE_ASPRINTF)
|
|
|
|
add_definitions(-DHAVE_ASPRINTF)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(inet_pton HAVE_INET_PTON)
|
|
|
|
if(HAVE_INET_PTON)
|
|
|
|
add_definitions(-DHAVE_INET_PTON)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(reallocarray HAVE_REALLOCARRAY)
|
|
|
|
if(HAVE_REALLOCARRAY)
|
|
|
|
add_definitions(-DHAVE_REALLOCARRAY)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(strcasecmp HAVE_STRCASECMP)
|
|
|
|
if(HAVE_STRCASECMP)
|
|
|
|
add_definitions(-DHAVE_STRCASECMP)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(strlcat HAVE_STRLCAT)
|
|
|
|
if(HAVE_STRLCAT)
|
|
|
|
add_definitions(-DHAVE_STRLCAT)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(strlcat HAVE_STRLCPY)
|
|
|
|
if(HAVE_STRLCPY)
|
|
|
|
add_definitions(-DHAVE_STRLCPY)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(strndup HAVE_STRNDUP)
|
|
|
|
if(HAVE_STRNDUP)
|
|
|
|
add_definitions(-DHAVE_STRNDUP)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(MSVC)
|
|
|
|
set(HAVE_STRNLEN)
|
|
|
|
add_definitions(-DHAVE_STRNLEN)
|
|
|
|
else()
|
|
|
|
check_function_exists(strnlen HAVE_STRNLEN)
|
|
|
|
if(HAVE_STRNLEN)
|
|
|
|
add_definitions(-DHAVE_STRNLEN)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(strsep HAVE_STRSEP)
|
|
|
|
if(HAVE_STRSEP)
|
|
|
|
add_definitions(-DHAVE_STRSEP)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(arc4random_buf HAVE_ARC4RANDOM_BUF)
|
|
|
|
if(HAVE_ARC4RANDOM_BUF)
|
|
|
|
add_definitions(-DHAVE_ARC4RANDOM_BUF)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(explicit_bzero HAVE_EXPLICIT_BZERO)
|
|
|
|
if(HAVE_EXPLICIT_BZERO)
|
|
|
|
add_definitions(-DHAVE_EXPLICIT_BZERO)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(getauxval HAVE_GETAUXVAL)
|
|
|
|
if(HAVE_GETAUXVAL)
|
|
|
|
add_definitions(-DHAVE_GETAUXVAL)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(getentropy HAVE_GETENTROPY)
|
|
|
|
if(HAVE_GETENTROPY)
|
|
|
|
add_definitions(-DHAVE_GETENTROPY)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(timingsafe_bcmp HAVE_TIMINGSAFE_BCMP)
|
|
|
|
if(HAVE_TIMINGSAFE_BCMP)
|
|
|
|
add_definitions(-DHAVE_TIMINGSAFE_BCMP)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
check_function_exists(timingsafe_memcmp HAVE_TIMINGSAFE_MEMCMP)
|
|
|
|
if(HAVE_MEMCMP)
|
|
|
|
add_definitions(-DHAVE_MEMCMP)
|
|
|
|
endif()
|
|
|
|
|
2015-07-22 05:21:14 +02:00
|
|
|
check_include_files(err.h HAVE_ERR_H)
|
|
|
|
if(HAVE_ERR_H)
|
|
|
|
add_definitions(-DHAVE_ERR_H)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
set(OPENSSL_LIBS ssl crypto)
|
|
|
|
if(CMAKE_HOST_WIN32)
|
|
|
|
set(OPENSSL_LIBS ${OPENSSL_LIBS} ws2_32)
|
|
|
|
endif()
|
|
|
|
|
2014-07-11 05:06:10 +02:00
|
|
|
add_subdirectory(crypto)
|
|
|
|
add_subdirectory(ssl)
|
|
|
|
add_subdirectory(apps)
|
|
|
|
add_subdirectory(tls)
|
2015-07-22 05:21:14 +02:00
|
|
|
add_subdirectory(tests)
|