Skip to content

Commit cc7982e

Browse files
committed
initial commit
1 parent 3e1ea72 commit cc7982e

5 files changed

Lines changed: 393 additions & 41 deletions

File tree

.gitignore

Lines changed: 238 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,266 @@
1+
# =========================
2+
# GitHub C++ Default Template Additions
3+
# =========================
14
# Prerequisites
25
*.d
36

4-
# Compiled Object files
5-
*.slo
6-
*.lo
7+
# Object files
78
*.o
89
*.obj
10+
*.elf
11+
12+
# Linker output
13+
*.ilk
14+
*.map
15+
*.exp
916

10-
# Precompiled Headers
17+
# Precompiled headers
1118
*.gch
1219
*.pch
1320

14-
# Linker files
15-
*.ilk
16-
17-
# Debugger Files
18-
*.pdb
21+
# Libraries
22+
*.lib
23+
*.a
24+
*.la
25+
*.lo
1926

20-
# Compiled Dynamic libraries
21-
*.so
22-
*.dylib
27+
# Shared objects (DLLs, shared libraries)
2328
*.dll
29+
*.so
2430
*.so.*
25-
26-
27-
# Fortran module files
28-
*.mod
29-
*.smod
30-
31-
# Compiled Static libraries
32-
*.lai
33-
*.la
34-
*.a
35-
*.lib
31+
*.dylib
3632

3733
# Executables
3834
*.exe
3935
*.out
4036
*.app
4137

42-
# Build directories
43-
build/
44-
Build/
45-
build-*/
38+
# Debug files
39+
*.dSYM/
40+
*.su
41+
*.idb
42+
*.pdb
43+
44+
# =========================
45+
# OS specific
46+
# =========================
47+
# macOS
48+
.DS_Store
49+
.AppleDouble
50+
.LSOverride
51+
*.dSYM/
52+
53+
# Windows
54+
Thumbs.db
55+
ehthumbs.db
56+
Desktop.ini
57+
$RECYCLE.BIN/
58+
59+
# Linux / UNIX
60+
*~
61+
.fuse_hidden*
62+
.directory
63+
.Trash-*
64+
.nfs*
65+
66+
# =========================
67+
# C/C++ build artifacts
68+
# =========================
69+
# (Note: many patterns already covered above by GitHub default)
70+
*.lo
71+
*.al
72+
*.libs
73+
*.exp
74+
*.ilk
75+
*.gch
76+
*.pch
77+
*.prof
78+
*.profraw
79+
*.profdata
80+
*.dasm
81+
*.log
82+
*.log.*
83+
.cache/
84+
.ccache/
85+
.distcc/
4686

47-
# CMake generated files
48-
CMakeFiles/
49-
CMakeCache.txt
87+
# =========================
88+
# Build systems
89+
# =========================
90+
# CMake
91+
[Cc]MakeCache.txt
92+
[Cc]MakeFiles/
93+
CMakeScripts/
94+
Testing/
5095
cmake_install.cmake
51-
Makefile
5296
install_manifest.txt
5397
compile_commands.json
98+
CTestTestfile.cmake
99+
CMakeUserPresets.json
100+
_deps/
101+
Makefile
54102

55-
# Temporary files
56-
*.tmp
57-
*.log
58-
*.bak
59-
*.swp
103+
# Build directories (use out-of-source when possible)
104+
build/
105+
build-*/
106+
cmake-build-*/
107+
108+
# Ninja
109+
.ninja_deps
110+
.ninja_log
111+
112+
# Meson
113+
meson-logs/
114+
meson-private/
115+
builddir/
116+
117+
# SCons
118+
.sconsign.dblite
119+
SConstruct.out
120+
121+
# =========================
122+
# Package / dependency managers
123+
# =========================
124+
# Conan
125+
conanbuildinfo.*
126+
conaninfo.txt
127+
conan.lock
128+
.conan/
60129

61130
# vcpkg
62131
vcpkg_installed/
63132

64-
# debug information files
65-
*.dwo
133+
# Hunter
134+
_HUNTER/
66135

67-
# test output & cache
68-
Testing/
69-
.cache/
136+
# CPM.cmake
137+
_cpm_cache/
138+
139+
# =========================
140+
# LSP / code intelligence
141+
# =========================
142+
.clangd/
143+
.clangd-cache/
144+
.cache/clangd/
145+
.ccls-cache/
146+
tags
147+
TAGS
148+
GTAGS
149+
GRTAGS
150+
GPATH
151+
152+
# =========================
153+
# IDE / Editor specific ignores
154+
# =========================
155+
# Visual Studio (2019/2022)
156+
.vs/
157+
*.vcxproj*
158+
*.sln
159+
*.suo
160+
*.user
161+
*.filters
162+
*.lastbuildstate
163+
*.tlog
164+
*.opendb
165+
166+
# VSCode
167+
.vscode/
168+
.history/
169+
170+
# CLion / JetBrains
171+
.idea/
172+
cmake-build-*/
173+
174+
# Qt Creator
175+
*.pro.user*
176+
*.qbs.user*
177+
*.creator.user*
178+
*.creator
179+
*.autosave
180+
*.qmlproject.user*
181+
CMakeLists.txt.user
182+
.qmake.stash
183+
184+
# Eclipse CDT
185+
.project
186+
.cproject
187+
.settings/
188+
.metadata/
189+
.externalToolBuilders/
190+
bin/
191+
tmp/
192+
193+
# Xcode
194+
DerivedData/
195+
build/
196+
*.pbxuser
197+
!default.pbxuser
198+
*.mode1v3
199+
!default.mode1v3
200+
*.mode2v3
201+
!default.mode2v3
202+
*.perspectivev3
203+
!default.perspectivev3
204+
xcuserdata/
205+
*.xccheckout
206+
*.moved-aside
207+
*.xcuserstate
208+
*.xcscmblueprint
209+
210+
# Neovim / Vim
211+
*~
212+
.*.swp
213+
.*.swo
214+
.*.swm
215+
Session.vim
216+
217+
# Emacs
218+
\#*\#
219+
.#*
220+
.emacs.desktop
221+
.emacs.desktop.lock
222+
auto-save-list/
223+
tramp
224+
.dir-locals.el
225+
226+
# Sublime Text
227+
*.sublime-workspace
228+
*.sublime-project
229+
sftp-config.json
230+
231+
# Atom
232+
.atom/
233+
*.atom-build.yml
234+
235+
# Code::Blocks
236+
*.cbp
237+
*.depend
238+
*.layout
239+
240+
# CodeLite
241+
.codelite/
242+
*.project
243+
*.workspace
244+
245+
# KDevelop
246+
.kdev4/
247+
*.kdev4
248+
249+
# NetBeans (C/C++)
250+
nbproject/private/
251+
build/
252+
dist/
253+
254+
# Geany
255+
*.geany
256+
257+
# Dev-C++
258+
*.dev
259+
*.layout
260+
261+
# JetBrains Fleet
262+
.fleet/
263+
264+
# Kate
265+
*.kate-swp
266+
.kateproject.*

CMakeLists.txt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
cmake_minimum_required(VERSION 3.10)
2+
project(ix_websocket_example)
3+
4+
# C++ 표준 설정
5+
set(CMAKE_CXX_STANDARD 17)
6+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
7+
8+
# IXWebSocket 패키지 찾기
9+
# 시스템에 설치되어 있거나 vcpkg 등을 통해 경로가 잡혀있어야 합니다.
10+
# https://github.com/machinezone/IXWebSocket 의 사전 설치 필요함.
11+
find_package(ixwebsocket REQUIRED)
12+
13+
# 실행 파일 생성
14+
add_executable(ws_client
15+
main.cpp
16+
custom_websocket_client.cpp
17+
)
18+
19+
# 헤더 경로 및 라이브러리 링크
20+
target_include_directories(ws_client PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
21+
target_link_libraries(ws_client PRIVATE ixwebsocket::ixwebsocket) # IXWebSocket 라이브러리 링크.
22+
23+
# 시스템 라이브러리 링크 (Linux의 경우 Threads, SSL 등 필요)
24+
find_package(Threads REQUIRED)
25+
target_link_libraries(ws_client PRIVATE Threads::Threads)
26+
27+
if(UNIX AND NOT APPLE)
28+
target_link_libraries(ws_client PRIVATE ssl crypto)
29+
endif()

0 commit comments

Comments
 (0)