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 8565 - (hide 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 zmatsuo 7456 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 zmatsuo 7952 if (MSVC)
9 zmatsuo 8211 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DELAYLOAD:user32.dll /DELAYLOAD:dnsapi.dll")
10 zmatsuo 7456 endif()
11    
12 zmatsuo 7952 add_library(
13     ttxssh SHARED
14 zmatsuo 7456 )
15    
16 zmatsuo 7952 target_sources(
17     ttxssh
18     PRIVATE
19 zmatsuo 7456 ${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 zmatsuo 7952 target_sources(
85     ttxssh
86     PRIVATE
87     ../../teraterm/teraterm/WSAAsyncGetAddrInfo.c
88     ../../teraterm/common/ttcommon.h
89     ../../teraterm/common/i18n.h
90 zmatsuo 8547 ../../teraterm/common/i18n_static.c
91 zmatsuo 7952 ../../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 doda 8445 ../../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 zmatsuo 7952 )
109 zmatsuo 7456
110 zmatsuo 7952 source_group(
111     "common"
112     REGULAR_EXPRESSION
113     "teraterm\/common\/")
114    
115     target_include_directories(
116     ttxssh
117     PRIVATE
118 zmatsuo 7456 ../../teraterm/teraterm
119     ../../teraterm/common
120     ../matcher
121     ../putty
122     ${OPENSSL_INCLUDE_DIRS}
123     ${ZLIB_INCLUDE_DIRS}
124 zmatsuo 7952 )
125 zmatsuo 7456
126 zmatsuo 7536 set_target_properties(
127     ttxssh
128     PROPERTIES
129     PREFIX ""
130     )
131    
132 zmatsuo 7952 target_compile_definitions(
133     ttxssh
134     PRIVATE
135     $<$<CONFIG:Debug>:_CRTDBG_MAP_ALLOC>
136     )
137    
138 zmatsuo 7456 target_link_libraries(
139     ttxssh
140 zmatsuo 8565 PRIVATE
141     common_static
142 zmatsuo 7456 libputty
143     ttpcmn
144 zmatsuo 7952 ${ZLIB_LIB}
145 zmatsuo 7456 ${OPENSSL_LIB}
146     #
147     ws2_32
148     dnsapi
149     gdi32
150     comdlg32
151     delayimp
152 doda 8445 comctl32
153 zmatsuo 8332 # OpenSSL が使用
154     crypt32.lib # TODO このlibを使用しないパッチを適応したら削除すること
155 zmatsuo 7456 )
156    
157     ### create puttyversion.h
158    
159 zmatsuo 7532 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 zmatsuo 7456 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 zmatsuo 7990
181     install(
182     TARGETS ttxssh
183     RUNTIME
184     DESTINATION .
185     )

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