aboutsummaryrefslogtreecommitdiff
path: root/ssl/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'ssl/CMakeLists.txt')
-rw-r--r--ssl/CMakeLists.txt42
1 files changed, 36 insertions, 6 deletions
diff --git a/ssl/CMakeLists.txt b/ssl/CMakeLists.txt
index e2eeab5..cd7e335 100644
--- a/ssl/CMakeLists.txt
+++ b/ssl/CMakeLists.txt
@@ -72,6 +72,13 @@ target_include_directories(ssl_obj
72 ../include 72 ../include
73 ${CMAKE_BINARY_DIR}/include) 73 ${CMAKE_BINARY_DIR}/include)
74 74
75if(MSVC)
76 # "C4702" - unreachable code
77 set_source_files_properties(d1_pkt.c s3_cbc.c PROPERTIES
78 COMPILE_OPTIONS /wd4702
79 )
80endif()
81
75add_library(bs_obj OBJECT ${BS_SRC}) 82add_library(bs_obj OBJECT ${BS_SRC})
76target_include_directories(bs_obj 83target_include_directories(bs_obj
77 PRIVATE 84 PRIVATE
@@ -86,16 +93,16 @@ endif()
86 93
87export_symbol(ssl ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym) 94export_symbol(ssl ${CMAKE_CURRENT_SOURCE_DIR}/ssl.sym)
88target_link_libraries(ssl crypto ${PLATFORM_LIBS}) 95target_link_libraries(ssl crypto ${PLATFORM_LIBS})
89if (WIN32)
90 set(SSL_POSTFIX -${SSL_MAJOR_VERSION} PARENT_SCOPE)
91endif()
92set_target_properties(ssl PROPERTIES 96set_target_properties(ssl PROPERTIES
93 OUTPUT_NAME ssl${SSL_POSTFIX} 97 OUTPUT_NAME ssl
94 ARCHIVE_OUTPUT_NAME ssl${SSL_POSTFIX} 98 ARCHIVE_OUTPUT_NAME ssl
95 EXPORT_NAME SSL 99 EXPORT_NAME SSL
96 VERSION ${SSL_VERSION} 100 VERSION ${SSL_VERSION}
97 SOVERSION ${SSL_MAJOR_VERSION} 101 SOVERSION ${SSL_MAJOR_VERSION}
98) 102)
103if(NOT CMAKE_VERSION VERSION_LESS 3.27.0)
104 set_target_properties(ssl PROPERTIES DLL_NAME_WITH_SOVERSION TRUE)
105endif()
99 106
100target_include_directories( 107target_include_directories(
101 ssl 108 ssl
@@ -104,6 +111,30 @@ target_include_directories(
104 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> 111 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
105) 112)
106 113
114if(HOST_AARCH64)
115 target_include_directories(ssl_obj PRIVATE ../crypto/arch/aarch64/)
116elseif(HOST_ARM)
117 target_include_directories(ssl_obj PRIVATE ../crypto/arch/arm/)
118elseif(HOST_I386)
119 target_include_directories(ssl_obj PRIVATE ../crypto/arch/i386/)
120elseif(HOST_LOONGARCH64)
121 target_include_directories(ssl_obj PRIVATE ../crypto/arch/loongarch64)
122elseif(HOST_MIPS64)
123 target_include_directories(ssl_obj PRIVATE ../crypto/arch/mips64)
124elseif(HOST_MIPS)
125 target_include_directories(ssl_obj PRIVATE ../crypto/arch/mips)
126elseif(HOST_POWERPC)
127 target_include_directories(ssl_obj PRIVATE ../crypto/arch/powerpc)
128elseif(HOST_POWERPC64)
129 target_include_directories(ssl_obj PRIVATE ../crypto/arch/powerpc64)
130elseif(HOST_RISCV64)
131 target_include_directories(ssl_obj PRIVATE ../crypto/arch/riscv64)
132elseif(HOST_SPARC64)
133 target_include_directories(ssl_obj PRIVATE ../crypto/arch/sparc64)
134elseif(HOST_X86_64)
135 target_include_directories(ssl_obj PRIVATE ../crypto/arch/amd64)
136endif()
137
107install( 138install(
108 TARGETS ssl 139 TARGETS ssl
109 EXPORT SSL-target 140 EXPORT SSL-target
@@ -135,4 +166,3 @@ if(BUILD_SHARED_LIBS)
135 add_library(ssl-static STATIC $<TARGET_OBJECTS:ssl_obj>) 166 add_library(ssl-static STATIC $<TARGET_OBJECTS:ssl_obj>)
136 target_link_libraries(ssl-static crypto-static ${PLATFORM_LIBS}) 167 target_link_libraries(ssl-static crypto-static ${PLATFORM_LIBS})
137endif() 168endif()
138