Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/ttssh2/ttxssh/CMakeLists.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10653 - (hide annotations) (download)
Sun Apr 2 16:07:25 2023 UTC (12 months, 1 week ago) by zmatsuo
File MIME type: text/plain
File size: 4751 byte(s)
cmake+MinGWビルドが通らないので修正

- tlssup.c をstaticライブラリに変更
- libmingw に vswprintf_s() を追加
  - libmingw = msvcrt.dll で実装されていない関数を代替
  - cmake + MinGWビルド + 古いOS用
1 zmatsuo 9129 set(PACKAGE_NAME "ttxssh")
2 zmatsuo 7456
3 nmaya 9692 option(TTXSSH_LIBRESSL "User LibreSSL" on)
4 nmaya 9693 option(TTXSSH_OPENSSL3 "Use OpenSSL3" off)
5 nmaya 9692
6 zmatsuo 9129 project(${PACKAGE_NAME})
7 zmatsuo 7456
8     include(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/lib_zlib.cmake)
9 nmaya 9692 if(TTXSSH_LIBRESSL)
10     include(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/lib_libressl.cmake)
11 nmaya 9693 elseif(TTXSSH_OPENSSL3)
12     include(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/lib_openssl3.cmake)
13 nmaya 9692 else()
14     include(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/lib_openssl.cmake)
15     endif()
16 zmatsuo 7456
17 zmatsuo 7952 add_library(
18 zmatsuo 9129 ${PACKAGE_NAME} SHARED
19 zmatsuo 7456 )
20    
21 zmatsuo 7952 target_sources(
22 zmatsuo 9129 ${PACKAGE_NAME}
23 zmatsuo 7952 PRIVATE
24 zmatsuo 7456 ../matcher/matcher.c
25     arc4random.c
26     arc4random.h
27     auth.c
28     auth.h
29     buffer.c
30     buffer.h
31     chacha.c
32     chacha.h
33 nmaya 9255 cipher-3des1.c
34 zmatsuo 10529 cipher-3des1.h
35 nmaya 9255 cipher-chachapoly-libcrypto.c
36     cipher-chachapoly.h
37     cipher-ctr.c
38 zmatsuo 10529 cipher-ctr.h
39 nmaya 9255 cipher.c
40 zmatsuo 7456 cipher.h
41 nmaya 9255 comp.c
42     comp.h
43 zmatsuo 7456 config.h
44     crypt.c
45     crypt.h
46     dns.c
47     dns.h
48     ed25519.c
49     ed25519_bcrypt_pbkdf.c
50     ed25519_blf.h
51     ed25519_blocks.c
52     ed25519_blowfish.c
53     ed25519_crypto_api.h
54     ed25519_fe25519.c
55     ed25519_fe25519.h
56     ed25519_ge25519.c
57     ed25519_ge25519.h
58     ed25519_hash.c
59     ed25519_sc25519.c
60     ed25519_sc25519.h
61     ed25519_verify.c
62 nmaya 9255 fwd-socks.c
63     fwd-socks.h
64 zmatsuo 7456 fwd.c
65     fwd.h
66     fwdui.c
67     fwdui.h
68 nmaya 9255 hostkey.c
69     hostkey.h
70 zmatsuo 7456 hosts.c
71     hosts.h
72     kex.c
73     kex.h
74     key.c
75     key.h
76     keyfiles.c
77     keyfiles.h
78 zmatsuo 9266 keyfiles-putty.c
79     keyfiles-putty.h
80 nmaya 9255 mac.c
81     mac.h
82 zmatsuo 7456 pkt.c
83     pkt.h
84 nmaya 9255 poly1305.c
85     poly1305.h
86 zmatsuo 7456 resource.h
87     sftp.c
88     sftp.h
89     ssh.c
90     ssh.h
91 nmaya 9255 ssherr.c
92     ssherr.h
93     ttxssh-version.h
94     ttxssh-version.rc
95 zmatsuo 7456 ttxssh.c
96     ttxssh.def
97     ttxssh.h
98     ttxssh.rc
99     util.c
100     util.h
101     x11util.c
102     x11util.h
103     ${COMMON_SRC}
104     )
105    
106 zmatsuo 7952 target_sources(
107 zmatsuo 9129 ${PACKAGE_NAME}
108 zmatsuo 7952 PRIVATE
109     ../../teraterm/teraterm/WSAAsyncGetAddrInfo.c
110     ../../teraterm/common/ttcommon.h
111     ../../teraterm/common/i18n.h
112     ../../teraterm/common/ttlib.h
113     ../../teraterm/common/ttlib.c
114     ../../teraterm/common/dlglib.h
115     ../../teraterm/common/servicenames.h
116     ../../teraterm/common/codeconv.h
117     ../../teraterm/common/tipwin.h
118 doda 8445 ../../teraterm/common/compat_win.h
119     ../../teraterm/common/dllutil.h
120 zmatsuo 7952 )
121 zmatsuo 7456
122 zmatsuo 7952 source_group(
123     "common"
124     REGULAR_EXPRESSION
125     "teraterm\/common\/")
126    
127 zmatsuo 9129 if(SUPPORT_OLD_WINDOWS)
128     if(MSVC)
129 zmatsuo 9325 if(${CMAKE_VERSION} VERSION_LESS "3.12.0")
130     set(CMAKE_C_STANDARD_LIBRARIES "")
131     set(CMAKE_CXX_STANDARD_LIBRARIES "")
132     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB")
133     else()
134     target_link_options(
135     ${PACKAGE_NAME}
136     PRIVATE
137     /NODEFAULTLIB
138     )
139     endif()
140 zmatsuo 9129 target_sources(
141     ${PACKAGE_NAME}
142     PRIVATE
143     ../../teraterm/common/compat_w95_vs2005.c
144     )
145     endif()
146 zmatsuo 9136 if(MINGW)
147     target_link_libraries(
148     ${PACKAGE_NAME}
149     PRIVATE
150     -Wl,--whole-archive
151     mingw_msvcrt
152 zmatsuo 10653 mingw_dll_tls
153 zmatsuo 9136 -Wl,--no-whole-archive
154 zmatsuo 10653 )
155 zmatsuo 9136 endif()
156 zmatsuo 9129 endif(SUPPORT_OLD_WINDOWS)
157    
158 zmatsuo 7952 target_include_directories(
159 zmatsuo 9129 ${PACKAGE_NAME}
160 zmatsuo 7952 PRIVATE
161 zmatsuo 7456 ../../teraterm/teraterm
162     ../matcher
163     ../putty
164 zmatsuo 10267 ../../libs/include
165 zmatsuo 7456 ${ZLIB_INCLUDE_DIRS}
166 nmaya 9692 )
167 nmaya 9693
168 nmaya 9692 if(TTXSSH_LIBRESSL)
169     target_include_directories(
170     ${PACKAGE_NAME}
171     PRIVATE
172     ${LIBRESSL_INCLUDE_DIRS}
173     )
174 nmaya 9693 elseif(TTXSSH_OPENSSL3)
175     target_include_directories(
176     ${PACKAGE_NAME}
177     PRIVATE
178     ${OPENSSL3_INCLUDE_DIRS}
179     )
180 nmaya 9692 else()
181     target_include_directories(
182     ${PACKAGE_NAME}
183     PRIVATE
184     ${OPENSSL_INCLUDE_DIRS}
185     )
186     endif()
187 zmatsuo 7456
188 nmaya 9692
189 zmatsuo 7536 set_target_properties(
190 zmatsuo 9129 ${PACKAGE_NAME}
191 zmatsuo 7536 PROPERTIES
192     PREFIX ""
193 zmatsuo 9129 RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/"
194 zmatsuo 7536 )
195    
196 zmatsuo 7952 target_compile_definitions(
197 zmatsuo 9129 ${PACKAGE_NAME}
198 zmatsuo 7952 PRIVATE
199     $<$<CONFIG:Debug>:_CRTDBG_MAP_ALLOC>
200     )
201    
202 zmatsuo 9129 if(MINGW)
203     target_link_options(
204     ttxssh
205     PRIVATE
206     -Wl,-Map=ttxssh.map,-cref
207     )
208     endif()
209    
210 zmatsuo 7456 target_link_libraries(
211 zmatsuo 9129 ${PACKAGE_NAME}
212 zmatsuo 8565 PRIVATE
213     common_static
214 zmatsuo 7456 libputty
215     ttpcmn
216 zmatsuo 9266 argon2
217 zmatsuo 7952 ${ZLIB_LIB}
218 zmatsuo 9325 )
219    
220 nmaya 9692 if(TTXSSH_LIBRESSL)
221     target_link_libraries(
222     ${PACKAGE_NAME}
223     PRIVATE
224     ${LIBRESSL_LIB}
225     bcrypt.lib
226     )
227 nmaya 9693 elseif(TTXSSH_OPENSSL3)
228     target_link_libraries(
229     ${PACKAGE_NAME}
230     PRIVATE
231     ${OPENSSL3_LIB}
232     bcrypt.lib
233     )
234 nmaya 9692 else()
235     target_link_libraries(
236     ${PACKAGE_NAME}
237     PRIVATE
238     ${OPENSSL_LIB}
239     crypt32.lib # TODO このlibを使用しないパッチを適応したら削除すること
240     )
241     endif()
242    
243 zmatsuo 9325 if(SUPPORT_OLD_WINDOWS)
244     target_link_libraries(
245     ${PACKAGE_NAME}
246     PRIVATE
247     layer_for_unicode
248     )
249     endif()
250    
251     target_link_libraries(
252     ${PACKAGE_NAME}
253     PRIVATE
254 zmatsuo 7456 ws2_32
255     gdi32
256     comdlg32
257 doda 8445 comctl32
258 zmatsuo 7456 )
259    
260 zmatsuo 7990 install(
261     TARGETS ttxssh
262     RUNTIME
263     DESTINATION .
264     )

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26