Develop and Download Open Source Software

Browse Subversion Repository

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8565 - (show annotations) (download)
Tue Feb 25 14:11:33 2020 UTC (4 years, 1 month ago) by zmatsuo
File MIME type: text/plain
File size: 3711 byte(s)
common_static.lib の参照方法を修正

- common_static.lib を複数回生成しないようにした
- common_static で生成される lib を参照
  - ttxssh
  - TTProxy
  - TTXSamples/TTXCheckUpdate
  - TTXSamples/TTXRecurringCommand
  - TTXSamples/TTXViewMode
- common_static のプロジェクトを参照(ライブラリが自動でリンクされる)
  - ttpcmn
  - ttpfile
  - ttpmacro
- common_static に static にリンクされているファイルを追加
  - dll export されているものは含まない
1 project(ttxssh)
2
3 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/")
4
5 include(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/lib_zlib.cmake)
6 include(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/lib_openssl.cmake)
7
8 if (MSVC)
9 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DELAYLOAD:user32.dll /DELAYLOAD:dnsapi.dll")
10 endif()
11
12 add_library(
13 ttxssh SHARED
14 )
15
16 target_sources(
17 ttxssh
18 PRIVATE
19 ${CMAKE_CURRENT_BINARY_DIR}/puttyversion.h
20 ../matcher/matcher.c
21 arc4random.c
22 arc4random.h
23 auth.c
24 auth.h
25 buffer.c
26 buffer.h
27 chacha.c
28 chacha.h
29 cipher.h
30 cipher-ctr.c
31 config.h
32 crypt.c
33 crypt.h
34 dns.c
35 dns.h
36 ed25519.c
37 ed25519_bcrypt_pbkdf.c
38 ed25519_blf.h
39 ed25519_blocks.c
40 ed25519_blowfish.c
41 ed25519_crypto_api.h
42 ed25519_fe25519.c
43 ed25519_fe25519.h
44 ed25519_ge25519.c
45 ed25519_ge25519.h
46 ed25519_hash.c
47 ed25519_sc25519.c
48 ed25519_sc25519.h
49 ed25519_verify.c
50 fwd.c
51 fwd.h
52 fwd-socks.c
53 fwd-socks.h
54 fwdui.c
55 fwdui.h
56 hosts.c
57 hosts.h
58 kex.c
59 kex.h
60 key.c
61 key.h
62 keyfiles.c
63 keyfiles.h
64 pkt.c
65 pkt.h
66 resource.h
67 sftp.c
68 sftp.h
69 ssh.c
70 ssh.h
71 ttxssh.c
72 ttxssh.def
73 ttxssh.h
74 ttxssh.rc
75 ttxssh-version.h
76 ttxssh-version.rc
77 util.c
78 util.h
79 x11util.c
80 x11util.h
81 ${COMMON_SRC}
82 )
83
84 target_sources(
85 ttxssh
86 PRIVATE
87 ../../teraterm/teraterm/WSAAsyncGetAddrInfo.c
88 ../../teraterm/common/ttcommon.h
89 ../../teraterm/common/i18n.h
90 ../../teraterm/common/i18n_static.c
91 ../../teraterm/common/ttlib.h
92 ../../teraterm/common/ttlib.c
93 ../../teraterm/common/dlglib.h
94 ../../teraterm/common/dlglib.c
95 ../../teraterm/common/dlglib_cpp.cpp
96 ../../teraterm/common/dlglib_tmpl.cpp
97 ../../teraterm/common/servicenames.h
98 ../../teraterm/common/codeconv.cpp
99 ../../teraterm/common/codeconv.h
100 ../../teraterm/common/tipwin.cpp
101 ../../teraterm/common/tipwin.h
102 ../../teraterm/common/layer_for_unicode.cpp
103 ../../teraterm/common/layer_for_unicode.h
104 ../../teraterm/common/compat_win.cpp
105 ../../teraterm/common/compat_win.h
106 ../../teraterm/common/dllutil.cpp
107 ../../teraterm/common/dllutil.h
108 )
109
110 source_group(
111 "common"
112 REGULAR_EXPRESSION
113 "teraterm\/common\/")
114
115 target_include_directories(
116 ttxssh
117 PRIVATE
118 ../../teraterm/teraterm
119 ../../teraterm/common
120 ../matcher
121 ../putty
122 ${OPENSSL_INCLUDE_DIRS}
123 ${ZLIB_INCLUDE_DIRS}
124 )
125
126 set_target_properties(
127 ttxssh
128 PROPERTIES
129 PREFIX ""
130 )
131
132 target_compile_definitions(
133 ttxssh
134 PRIVATE
135 $<$<CONFIG:Debug>:_CRTDBG_MAP_ALLOC>
136 )
137
138 target_link_libraries(
139 ttxssh
140 PRIVATE
141 common_static
142 libputty
143 ttpcmn
144 ${ZLIB_LIB}
145 ${OPENSSL_LIB}
146 #
147 ws2_32
148 dnsapi
149 gdi32
150 comdlg32
151 delayimp
152 comctl32
153 # OpenSSL が使用
154 crypt32.lib # TODO このlibを使用しないパッチを適応したら削除すること
155 )
156
157 ### create puttyversion.h
158
159 set(PUTTY_ISS "${CMAKE_SOURCE_DIR}/libs/putty/windows/putty.iss")
160 if(NOT EXISTS ${PUTTY_ISS})
161 message(FATAL_ERROR "${PUTTY_ISS} not found")
162 endif()
163
164 file(READ "${CMAKE_SOURCE_DIR}/libs/putty/windows/putty.iss" iis)
165
166 string(REGEX MATCH "VersionInfoTextVersion=([^\n]+)\n" _ ${iis})
167 set(version_str ${CMAKE_MATCH_1})
168 if("${version_str}" STREQUAL "")
169 string(REGEX MATCH "AppVerName=([^\n]+)\n" _ ${iis})
170 set(version_str ${CMAKE_MATCH_1})
171 endif()
172 if("${version_str}" STREQUAL "")
173 set(version_str "unknown")
174 endif()
175 message("putty version=\"${version_str}\"")
176 FILE(
177 WRITE ${CMAKE_CURRENT_BINARY_DIR}/puttyversion.h
178 "#define PUTTYVERSION \"${version_str}\"\n"
179 )
180
181 install(
182 TARGETS ttxssh
183 RUNTIME
184 DESTINATION .
185 )

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