@@ -62,8 +62,13 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
62
62
STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" )
63
63
endif ()
64
64
65
- # Enable asserts regardless of build type
66
- add_definitions (-UNDEBUG )
65
+ # Do not disable assertions based on CMAKE_BUILD_TYPE
66
+ foreach (_build_type "Release" "MinSizeRel" "RelWithDebInfo" )
67
+ foreach (_lang C CXX )
68
+ string (TOUPPER "CMAKE_${_lang} _FLAGS_${_build_type} " _var )
69
+ string (REGEX REPLACE "(^| )[/-]D *NDEBUG($| )" " " ${_var} "${${_var} }" )
70
+ endforeach ()
71
+ endforeach ()
67
72
68
73
set (BUILD_NC true )
69
74
@@ -84,16 +89,16 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
84
89
set (PLATFORM_LIBS ${PLATFORM_LIBS} pthread )
85
90
endif ()
86
91
87
- if (WIN32 OR ( CMAKE_SYSTEM_NAME MATCHES "MINGW" ) )
92
+ if (WIN32 )
88
93
set (BUILD_NC false )
89
- add_definitions (-D_GNU_SOURCE )
90
- add_definitions (-D_POSIX )
91
- add_definitions (-D_POSIX_SOURCE )
92
- add_definitions (-D__USE_MINGW_ANSI_STDIO )
94
+ if (MINGW )
95
+ add_definitions (-D_GNU_SOURCE )
96
+ add_definitions (-D_POSIX )
97
+ add_definitions (-D_POSIX_SOURCE )
98
+ add_definitions (-D__USE_MINGW_ANSI_STDIO )
99
+ endif ()
93
100
endif ()
94
101
95
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
96
-
97
102
if (CMAKE_SYSTEM_NAME MATCHES "HP-UX" )
98
103
if (CMAKE_C_COMPILER MATCHES "gcc" )
99
104
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -fno-strict-aliasing" )
@@ -129,7 +134,7 @@ if(WIN32)
129
134
add_definitions (-D_CRT_SECURE_NO_WARNINGS )
130
135
add_definitions (-D_CRT_DEPRECATED_NO_WARNINGS )
131
136
add_definitions (-D_REENTRANT -D_POSIX_THREAD_SAFE_FUNCTIONS )
132
- add_definitions (-DCPPFLAGS - DNO_SYSLOG -DNO_CRYPT )
137
+ add_definitions (-DNO_SYSLOG )
133
138
add_definitions (-DWIN32_LEAN_AND_MEAN )
134
139
if (NOT CMAKE_SYSTEM_NAME MATCHES "WindowsStore" )
135
140
add_definitions (-D_WIN32_WINNT=0x0600 )
@@ -140,6 +145,15 @@ endif()
140
145
if (MSVC )
141
146
add_definitions (-Dinline=__inline )
142
147
message (STATUS "Using [${CMAKE_C_COMPILER_ID} ] compiler" )
148
+
149
+ include (TestBigEndian )
150
+ TEST_BIG_ENDIAN (HAVE_BIG_ENDIAN )
151
+ if (HAVE_BIG_ENDIAN )
152
+ add_definitions (-DHAVE_BIG_ENDIAN )
153
+ else ()
154
+ add_definitions (-DHAVE_LITTLE_ENDIAN )
155
+ endif ()
156
+
143
157
if (CMAKE_C_COMPILER_ID MATCHES "MSVC" OR CMAKE_C_COMPILER_ID MATCHES "Clang" )
144
158
set (MSVC_DISABLED_WARNINGS_LIST
145
159
"C4018" # 'expression' : signed/unsigned mismatch
@@ -182,6 +196,8 @@ if(MSVC)
182
196
${MSVC_DISABLED_WARNINGS_LIST} )
183
197
string (REGEX REPLACE "[/-]W[1234][ ]?" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS} )
184
198
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -MP -W4 ${MSVC_DISABLED_WARNINGS_STR} " )
199
+ else ()
200
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall" )
185
201
endif ()
186
202
187
203
check_function_exists (asprintf HAVE_ASPRINTF )
@@ -234,6 +250,11 @@ if(HAVE_STRSEP)
234
250
add_definitions (-DHAVE_STRSEP )
235
251
endif ()
236
252
253
+ check_function_exists (strtonum HAVE_STRTONUM )
254
+ if (HAVE_STRTONUM )
255
+ add_definitions (-DHAVE_STRTONUM )
256
+ endif ()
257
+
237
258
check_function_exists (timegm HAVE_TIMEGM )
238
259
if (HAVE_TIMEGM )
239
260
add_definitions (-DHAVE_TIMEGM )
@@ -295,8 +316,8 @@ if(HAVE_TIMINGSAFE_BCMP)
295
316
endif ()
296
317
297
318
check_function_exists (timingsafe_memcmp HAVE_TIMINGSAFE_MEMCMP )
298
- if (HAVE_MEMCMP )
299
- add_definitions (-DHAVE_MEMCMP )
319
+ if (HAVE_TIMINGSAFE_MEMCMP )
320
+ add_definitions (-DHAVE_TIMINGSAFE_MEMCMP )
300
321
endif ()
301
322
302
323
check_function_exists (memmem HAVE_MEMMEM )
@@ -333,49 +354,53 @@ if(APPLE AND (NOT CMAKE_OSX_ARCHITECTURES STREQUAL ""))
333
354
set (CMAKE_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES} " )
334
355
endif ()
335
356
336
- if (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "(aarch64|arm64|ARM64)" )
357
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64|arm64|ARM64)" )
337
358
set (HOST_AARCH64 true )
338
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "arm" )
359
+ if (WIN32 )
360
+ set (ENABLE_ASM false )
361
+ endif ()
362
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm" )
339
363
set (HOST_ARM true )
340
- elseif (" ${ CMAKE_SYSTEM_NAME} " STREQUAL "SunOS" AND " ${ CMAKE_SYSTEM_PROCESSOR} " STREQUAL "i386" )
364
+ elseif (CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386" )
341
365
set (HOST_X86_64 true )
342
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "(x86_64|amd64|AMD64)" )
366
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64|AMD64)" )
343
367
set (HOST_X86_64 true )
344
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "(i[3-6]86|[xX]86)" )
368
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "(i[3-6]86|[xX]86)" )
345
369
set (ENABLE_ASM false )
346
370
set (HOST_I386 true )
347
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "mips64" )
371
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "mips64" )
348
372
set (HOST_MIPS64 true )
349
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "mips" )
373
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "mips" )
350
374
set (HOST_MIPS true )
351
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "powerpc" )
375
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "powerpc" )
352
376
set (HOST_POWERPC true )
353
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "ppc64" )
377
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64" )
354
378
set (HOST_PPC64 true )
355
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "riscv64" )
379
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64" )
356
380
set (HOST_RISCV64 true )
357
- elseif (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "sparc64" )
381
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "sparc64" )
358
382
set (HOST_SPARC64 true )
359
383
else ()
360
384
set (ENABLE_ASM false )
361
385
endif ()
362
386
363
387
if (ENABLE_ASM )
364
- if (" ${ CMAKE_C_COMPILER_ABI} " STREQUAL "ELF" )
365
- if (" ${ CMAKE_SYSTEM_PROCESSOR} " MATCHES "(x86_64|amd64)" )
388
+ if (CMAKE_C_COMPILER_ABI STREQUAL "ELF" )
389
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)" )
366
390
set (HOST_ASM_ELF_X86_64 true )
367
- elseif ("${CMAKE_SYSTEM_PROCESSOR} " MATCHES "arm" )
391
+ elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm" AND
392
+ NOT CMAKE_SYSTEM_PROCESSOR MATCHES "arm64" )
368
393
set (HOST_ASM_ELF_ARMV4 true )
369
- elseif (CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND " ${ CMAKE_SYSTEM_PROCESSOR} " STREQUAL "i386" )
394
+ elseif (CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386" )
370
395
set (HOST_ASM_ELF_X86_64 true )
371
396
endif ()
372
397
add_definitions (-DHAVE_GNU_STACK )
373
- elseif (APPLE AND " ${ CMAKE_SYSTEM_PROCESSOR} " STREQUAL "x86_64" )
398
+ elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" )
374
399
set (HOST_ASM_MACOSX_X86_64 true )
375
- elseif (MSVC AND (" ${ CMAKE_GENERATOR} " MATCHES "Win64" OR " ${ CMAKE_GENERATOR_PLATFORM} " STREQUAL "x64" ))
400
+ elseif (MSVC AND (CMAKE_GENERATOR MATCHES "Win64" OR CMAKE_GENERATOR_PLATFORM STREQUAL "x64" ))
376
401
set (HOST_ASM_MASM_X86_64 true )
377
402
ENABLE_LANGUAGE (ASM_MASM )
378
- elseif (MINGW AND " ${ CMAKE_SYSTEM_PROCESSOR} " STREQUAL "x86_64" )
403
+ elseif (MINGW AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" )
379
404
set (HOST_ASM_MINGW64_X86_64 true )
380
405
endif ()
381
406
endif ()
@@ -407,11 +432,23 @@ set(LIBTLS_LIBS tls ${PLATFORM_LIBS})
407
432
408
433
# libraries for regression test
409
434
if (BUILD_SHARED_LIBS )
410
- set (OPENSSL_TEST_LIBS ssl-static crypto-static ${PLATFORM_LIBS} )
411
- set (LIBTLS_TEST_LIBS tls-static ${PLATFORM_LIBS} )
435
+ set (OPENSSL_TEST_LIBS ssl-static crypto-static ${PLATFORM_LIBS} compat_obj )
436
+ set (LIBTLS_TEST_LIBS tls-static ${OPENSSL_TEST_LIBS} tls_compat_obj )
412
437
else ()
413
- set (OPENSSL_TEST_LIBS ssl crypto ${PLATFORM_LIBS} )
414
- set (LIBTLS_TEST_LIBS tls ${PLATFORM_LIBS} )
438
+ set (OPENSSL_TEST_LIBS ssl crypto ${PLATFORM_LIBS} compat_obj )
439
+ set (LIBTLS_TEST_LIBS tls ${PLATFORM_LIBS} compat_obj tls_compat_obj )
440
+ endif ()
441
+
442
+ if (OPENSSLDIR STREQUAL "" )
443
+ if (WIN32 )
444
+ set (OPENSSLDIR "C:/Windows/libressl/ssl" )
445
+ else ()
446
+ set (OPENSSLDIR "${CMAKE_INSTALL_PREFIX} /etc/ssl" )
447
+ endif ()
448
+
449
+ set (CONF_DIR "${CMAKE_INSTALL_PREFIX} /etc/ssl" )
450
+ else ()
451
+ set (CONF_DIR "${OPENSSLDIR} " )
415
452
endif ()
416
453
417
454
add_subdirectory (include )
@@ -495,12 +532,6 @@ if(ENABLE_LIBRESSL_INSTALL)
495
532
endif ()
496
533
endif (ENABLE_LIBRESSL_INSTALL )
497
534
498
- if (NOT "${OPENSSLDIR} " STREQUAL "" )
499
- set (CONF_DIR "${OPENSSLDIR} " )
500
- else ()
501
- set (CONF_DIR "${CMAKE_INSTALL_PREFIX} /etc/ssl" )
502
- endif ()
503
-
504
535
if (ENABLE_LIBRESSL_INSTALL )
505
536
install (FILES cert.pem openssl.cnf x509v3.cnf DESTINATION ${CONF_DIR} )
506
537
install (DIRECTORY DESTINATION ${CONF_DIR} /certs )
0 commit comments