9 src/PluginPanelItems.cpp
12 src/BackgroundTasks.cpp
14 src/ConnectionsPool.cpp
15 src/ImportFarFtpSites.cpp
16 src/Host/HostLocal.cpp
17 src/Host/HostRemote.cpp
18 src/Host/InitDeinitCmd.cpp
19 src/UI/DialogUtils.cpp
20 src/UI/Settings/ConfigurePlugin.cpp
21 src/UI/Settings/SiteConnectionEditor.cpp
22 src/UI/Settings/ExtraSiteSettings.cpp
23 src/UI/Settings/ProxySettings.cpp
24 src/UI/Settings/ConfigureProtocolSFTPSCP.cpp
25 src/UI/Settings/ConfigureProtocolFTP.cpp
26 src/UI/Settings/ConfigureProtocolSMB.cpp
27 src/UI/Settings/ConfigureProtocolNFS.cpp
28 src/UI/Settings/ConfigureProtocolWebDAV.cpp
29 src/UI/Settings/ConfigureProtocolSHELL.cpp
30 src/Protocol/SHELL/WayToShellConfig.cpp
31 src/UI/Activities/Confirm.cpp
32 src/UI/Activities/ConfirmXfer.cpp
33 src/UI/Activities/ConfirmOverwrite.cpp
34 src/UI/Activities/ConfirmChangeMode.cpp
35 src/UI/Activities/SimpleOperationProgress.cpp
36 src/UI/Activities/ComplexOperationProgress.cpp
37 src/UI/Activities/AbortOperationRequest.cpp
38 src/UI/Activities/InteractiveLogin.cpp
39 src/UI/Activities/ConfirmNewServerIdentity.cpp
40 src/UI/Activities/WhatOnError.cpp
41 src/UI/Activities/BackgroundTasksUI.cpp
42 src/Op/Utils/ProgressStateUpdate.cpp
43 src/Op/Utils/Enumer.cpp
44 src/Op/Utils/IOBuffer.cpp
47 src/Op/OpCheckDirectory.cpp
48 src/Op/OpChangeMode.cpp
49 src/Op/OpEnumDirectory.cpp
52 src/Op/OpMakeDirectory.cpp
54 src/Op/OpGetLinkTarget.cpp
55 src/Protocol/SplitLocationSpecification.cpp
56 src/Protocol/Protocol.cpp
62 src/Host/HostRemoteBroker.cpp
65 add_executable (NetRocks-FILE
67 src/Protocol/File/ProtocolFile.cpp
68 src/Host/HostLocal.cpp
71 add_executable (NetRocks-SHELL
73 src/Protocol/SHELL/ProtocolSHELL.cpp
74 src/Protocol/SHELL/ProtocolSHELL_ExecCmd.cpp
75 src/Protocol/SHELL/WayToShellConfig.cpp
76 src/Protocol/SHELL/WayToShell.cpp
77 src/Protocol/SHELL/Request.cpp
78 src/Protocol/SHELL/Parse.cpp
79 src/Protocol/SHELL/RemoteSh.cpp
80 src/Protocol/ShellParseUtils.cpp
83 # get rid of warning: dynamic exception specifications are deprecated in C++11
84 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated")
86 target_link_libraries(NetRocks-FILE utils)
87 target_include_directories(NetRocks-FILE PRIVATE src)
88 set_target_properties(NetRocks-FILE
90 RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
93 target_compile_options(NetRocks-FILE PUBLIC -DNETROCKS_PROTOCOL)
95 target_link_libraries(NetRocks-SHELL utils)
96 target_include_directories(NetRocks-SHELL PRIVATE src)
97 set_target_properties(NetRocks-SHELL
99 RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
102 target_compile_options(NetRocks-SHELL PUBLIC -DNETROCKS_PROTOCOL)
104 add_custom_command(TARGET NetRocks-SHELL POST_BUILD
105 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/Protocol/SHELL/Helpers
106 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/src/Protocol/SHELL/Helpers "${INSTALL_DIR}/Plugins/NetRocks/plug/SHELL"
110 if (LIBSSH_FOUND AND ((NOT DEFINED NR_SFTP) OR NR_SFTP))
111 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_SFTP")
112 add_executable (NetRocks-SFTP
114 src/Protocol/SSH/SSHConnection.cpp
115 src/Protocol/SSH/ProtocolSFTP.cpp
116 src/Protocol/SSH/ProtocolSCP.cpp
117 src/Protocol/FileStatsOverride.cpp
118 src/Protocol/ShellParseUtils.cpp
120 target_link_libraries(NetRocks-SFTP utils ${LIBSSH_LIBRARIES})
121 target_include_directories(NetRocks-SFTP PRIVATE src ${LIBSSH_INCLUDE_DIRS})
122 set_target_properties(NetRocks-SFTP
124 RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
129 if (LIBSMBCLIENT_FOUND AND ((NOT DEFINED NR_SMB) OR NR_SMB))
130 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_SMB")
131 add_executable (NetRocks-SMB
133 src/Protocol/SMB/ProtocolSMB.cpp
134 src/Protocol/SMB/NMBEnum.cpp
136 target_link_libraries(NetRocks-SMB utils ${LIBSMBCLIENT_LIBRARIES})
137 target_include_directories(NetRocks-SMB PRIVATE src ${LIBSMBCLIENT_INCLUDE_DIRS})
138 set_target_properties(NetRocks-SMB
140 RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
145 if (LIBNFS_FOUND AND ((NOT DEFINED NR_NFS) OR NR_NFS))
146 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_NFS")
147 add_executable (NetRocks-NFS
149 src/Protocol/NFS/ProtocolNFS.cpp
151 target_link_libraries(NetRocks-NFS utils ${LIBNFS_LIBRARIES})
152 target_include_directories(NetRocks-NFS PRIVATE src ${LIBNFS_INCLUDE_DIRS})
153 set_target_properties(NetRocks-NFS
155 RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
161 if (LIBNEON_FOUND AND ((NOT DEFINED NR_WEBDAV) OR NR_WEBDAV))
162 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_WEBDAV")
163 add_executable (NetRocks-WebDAV
165 src/Protocol/WebDAV/ProtocolWebDAV.cpp
167 target_link_libraries(NetRocks-WebDAV utils ${LIBNEON_LIBRARIES})
168 target_include_directories(NetRocks-WebDAV PRIVATE src ${LIBNEON_INCLUDE_DIRS})
169 set_target_properties(NetRocks-WebDAV
171 RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
176 add_executable (NetRocks-FTP
178 src/Protocol/FTP/ProtocolFTP.cpp
179 src/Protocol/FTP/FTPConnection.cpp
180 src/Protocol/FTP/FTPParseMLST.cpp
181 src/Protocol/FTP/FTPParseLIST.cpp
182 src/Protocol/DirectoryEnumCache.cpp
184 target_link_libraries(NetRocks-FTP utils)
185 target_include_directories(NetRocks-FTP PRIVATE src)
186 if (OPENSSL_FOUND AND ((NOT DEFINED NR_OPENSSL) OR NR_OPENSSL))
187 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_OPENSSL")
188 target_link_libraries(NetRocks-FTP ${OPENSSL_LIBRARIES})
189 target_include_directories(NetRocks-FTP PRIVATE ${OPENSSL_INCLUDE_DIR})
191 set_target_properties(NetRocks-FTP
193 RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
198 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FAR_HAS_NAMELESS_UNIONS")
200 add_library (NetRocks MODULE ${SOURCES})
202 target_link_libraries(NetRocks utils far2l)
204 target_include_directories(NetRocks PRIVATE src)
205 target_include_directories(NetRocks PRIVATE ../WinPort)
206 target_include_directories(NetRocks PRIVATE ../far2l/far2sdk)
208 target_compile_definitions(NetRocks PRIVATE)
210 set_target_properties(NetRocks
212 LIBRARY_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
214 SUFFIX ".far-plug-wide")
216 add_custom_command(TARGET NetRocks POST_BUILD
217 DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/configs
218 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/configs "${INSTALL_DIR}/Plugins/NetRocks")