-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathCMakeLists.txt
88 lines (81 loc) · 2.53 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
cmake_minimum_required(VERSION 3.6)
project(kcptun)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -DASIO_STANDALONE")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
include_directories("${CMAKE_SOURCE_DIR}/asio/asio/include")
include_directories("${CMAKE_SOURCE_DIR}/rapidjson/include/rapidjson")
include_directories("${CMAKE_SOURCE_DIR}/gflags/include")
include_directories("${CMAKE_SOURCE_DIR}/snappy")
include_directories("${CMAKE_SOURCE_DIR}/kcp")
add_subdirectory("glog")
add_subdirectory("gflags")
add_subdirectory("snappy")
add_subdirectory("kcp")
set(SOURCE_FILES
sess.cpp
sess.h
utils.h
utils.cpp
frame.h
smux.h
smux.cpp
encrypt.h
encrypt.cpp
config.h
config.cpp
snappy_stream.cpp
snappy_stream.h
fec.cpp
fec.h
galois.cpp
galois.h
galois_noasm.cpp
galois_noasm.h
galois_table.c
inversion_tree.cpp
inversion_tree.h
matrix.cpp
matrix.h
reedsolomon.cpp
reedsolomon.h
async_fec.cpp
async_fec.h)
set(KCPTUN_CLIENT_SOURCE_FILES ${SOURCE_FILES}
kcptun_client_main.cpp
kcptun_client.h
kcptun_client.cpp
local.cpp
local.h)
set(KCPTUN_SERVER_SOURCE_FILES ${SOURCE_FILES}
kcptun_server_main.cpp
kcptun_server.h
kcptun_server.cpp
server.cpp
server.h)
add_executable(kcptun_client ${KCPTUN_CLIENT_SOURCE_FILES})
target_link_libraries(kcptun_client gflags)
target_link_libraries(kcptun_client glog)
target_link_libraries(kcptun_client snappy)
target_link_libraries(kcptun_client kcp)
target_link_libraries(kcptun_client z)
if(UNIX)
target_link_libraries(kcptun_client "${CMAKE_SOURCE_DIR}/cryptopp/libcryptopp.a")
target_link_libraries(kcptun_client -static-libstdc++)
target_link_libraries(kcptun_client pthread)
else()
target_link_libraries(kcptun_client "${CMAKE_SOURCE_DIR}/cryptopp/cryptlib.lib")
endif()
add_executable(kcptun_server ${KCPTUN_SERVER_SOURCE_FILES})
target_link_libraries(kcptun_server gflags)
target_link_libraries(kcptun_server glog)
target_link_libraries(kcptun_server snappy)
target_link_libraries(kcptun_server kcp)
target_link_libraries(kcptun_server z)
if(UNIX)
target_link_libraries(kcptun_server "${CMAKE_SOURCE_DIR}/cryptopp/libcryptopp.a")
target_link_libraries(kcptun_server -static-libstdc++)
target_link_libraries(kcptun_server pthread)
else()
target_link_libraries(kcptun_server "${CMAKE_SOURCE_DIR}/cryptopp/cryptlib.lib")
endif()